Android小話メモ(1) Camrea2
はじめに
Twitterでみた技術的なメモをアーカイブ的に残しておこうかと
Twitterは後検索が無理なんだよなー
TLメモ
assetsの読込速度
SAF経由だと平均的に読出しが遅く、Assetsに入れるとランダムアクセスが遅いのか…
— じん (@jin1016) 2017年7月21日
assetsに入れたら起動速くなった―と思ったら、文字描画やたら遅くなってしばらく悩んでいたけど、FreeTypeで文字をファイルから逐一読むのではなく、全部メモリ上に置くと速くなった。
STREAMINGだとより遅くなって、他はあまり変わらない感じですね。遅いです。
— じん (@jin1016) 2017年7月21日
予想通りでした。やはりassetsは圧縮されたapkの一部のようです。aaptのオプションでttfファイルを圧縮しせずに格納するようにしたら、ランダムアクセスでも早くなりました。具体的にはaaptOptions { noCompress 'ttf' }とbuild.gradle
— じん (@jin1016) 2017年7月21日
確かに SAF使うととても遅いんですよね・・・。うーん。
Camrea2 APIの話
Android Developersでcameraを検索するといつの間にかcamera2しか結果に出てこんくなっとる、知らんかった😌左側の一覧からは古いcamera関係のクラスも見れるけど😩そろそろAndroid4.x以下は切り捨てろというグルグル先生のお告げなんかな?
— さきちゃんの中の人、カピバラになりたい🐁 (@serenegiant) 2017年8月17日
Camera2はバックポートがない…というよりOSのカメラHALとかそれ以下の部分・ハードウエアの対応が無いと動かないので古い機種へのバックポートは無理なので、いつまでも古い機種使うんじゃねぇってことですねぇ😌
— さきちゃんの中の人、カピバラになりたい🐁 (@serenegiant) 2017年8月17日
そうなんですね~。
— close_yutori (@kimukou2628) 2017年8月17日
Camera2のsample探すとTextureview使えというのが結構出てきたので。
ところでTextureviewなんで非推奨になったんでしょうね~
OpenGLのバージョン上げたときに対応出来なかったからでしょうか(^^;;
@kimukou2628 Camera2は低レベル過ぎてサンプルが増えたのはだいぶ時間がたったAndroid6ぐらいになってからでその頃はSurfaceViewは遅いと。でも7ではSurfaceViewが効率良いと…4.xと5.x… URL
外部モジュール参照の話
Androidのgradle pluginのバージョンダウン、外部参照の代わりにダミーモジュール作ってリソースフォルダをシンボリックリンクで参照する以外なんかあるかな?
— さきちゃんの中の人、カピバラになりたい🐁 (@serenegiant) 2017年7月12日
リソースだけのモジュールを無理やりすげ替えて強硬手段も発動してビルドは通るようになったけど、リソースがマージされんのは変わらん(´・ω・`)外部参照のモジュールを全部変えなアカンのかなぁな…メンドイ😰
— さきちゃんの中の人、カピバラになりたい🐁 (@serenegiant) 2017年7月12日
モジュールの外部参照って呼ぶのかどうかは知らないけど^^;
— さきちゃんの中の人、カピバラになりたい🐁 (@serenegiant) 2017年7月12日
include ':モジュール名'
project(':モジュール名').projectDir = new File(settingsDir, '相対パス')
ってすると他のプロジェクトのモジュールを取り込めるって奴
それADTから exportしたgradle plugin 2.1.X 使っていた時によく記載していました〜。NDK r15 あたりだとCMakes.txt 主流になるので
— close_yutori (@kimukou2628) 2017年7月12日
多分AS2.2 以降のmaven project形式 に移行せざるをえないですが
makes.txtにまだ仕事場移行してないです(苦笑
— close_yutori (@kimukou2628) 2017年7月12日
r15って確か minsdk 14 になってるやつですよね。
他の方のTwで cocos2dxやUnityがそのバージョンだとビルドが通らない
というの見たこと有るんですが、今どうなんでしょう(苦笑
@kimukou2628 r見送ると決めたので細かいところまでは見てないのですがminsdk問題以外にもr15は標準ライブラリの挙動が結構変わってる…unified headerが標準になったせいも含めて...ので、落ち着くまでは放置かなぁと?