「JC(ROM)に俺のKitKatをあげてみた」(資料)JCROMをKitKatにあげてみたので、その話をします。4.4化して気がついた事JCROMにとって都合が悪かった点Launcher2からLauncher3へ通常は、Nexus5のみ。Android.mkで選択なので共存はできないドロワーが背景を透過するようになった。JCROMではドロワーの背景設定をやめて100%透過に書き換えたホームスクリーンの枚数がかわった。3は枚数可変ホームに何も置かないとスクリーンが削除される。ホームスクリーンが広く見える。JCROMとは競合する・・・。JCROMの全画面設定機能と同じようにバーを透過して壁紙を見せられる機能がofficialにも来てしまった。バーの透過はSystemUIのお仕事この辺のバー透過には有効無効フラグがある。デフォルトonだけど、Nexus10ではパフォーマンスの問題で無効になっている。keyguardのSystemUI化JCROMは、テーマ設定中のシステムUIを再起動するが、このとき、SystemUI化された結果、ロックを解除しないとテーマ反映を続ける事ができなくなった今後は、SystemUIが再起動したらロック画面になるようになる以前は処理が重いと、Keyguard起動前は画面が触れてしまったのではないかJCROMには都合が悪いので、ロックしなくする方法を調査。設定中は、persist.sys.therm.lockをtrueにしておけばよいSDカードの読み込みに権限が必要になった。GNだと落ちないのにNexus5だと落ちる。おかしいなと思って調べた。android.permission.READ_EXTERNAL_STORAGEが必要だった。GNの挙動の方がおかしいという事に。4.3をベースに自分で作っている。関係ありそうな変更を発見sdcardにパーミッションと思われる引数を渡すようになっている。RAMという項目がある読んでみると少ないメモリのデバイスもサポートするような記述になっているでも、どうも自分で最適化しろ的な情報のように見える4.4では以下の改善をしたと書いてある。4.4向けにしているとても使えるレベルの動きはしていないので、そのうちブログの紹介でとどめるかも。JCROMで、配布物は、詳細JCROM。意外とまじめな内容になりそうです。Sが遅いのは、どうもSurfaceFlingerさんらしい。Memory試してみたらどうだろう。その方が見えやすいかも。出たばかりでまだ本人もわかってない事いっぱいなので、色々突っ込みお願いします。実は、@tetsu_kobaさんのパクリが多いです。旧来の仮想マシンは、ソフトウェア環境が変わって来ている、ハードウェア設計に追従できていない開発は2年ほど前からGoogleで行われていたらしいベンチマークCPUの能力だけだと2倍くらいとの話がでている。完全に変更それにともなってリフレクションが変更クラスローダ周りは完全に変更。クラスローダとリンカに分割。スタックのさかのぼり方はおそらく変更されている。変則世代別ガベージコレクションZygoteで確保されたもの、それほど頻繁ではないもの、頻繁におこなわれるものの3世代くらいに分かれている模様。変更の総論AOTコンパイラクラスローダガーベージコレクションABI過去のVMについては・・・書籍買ってください。インタプリタについてLLVMが神レベルで早いのでそのうち高速になるでしょうAOTコンパイラアプリケーションインストール時にネイティブコードにコンパイルOATファイルはELF形式ELFにDEXへのリンク情報が入っているELFはただの器なので形式的には自由にデータ格納可能ネイティブ解決はdlopen/dlsymを使っているけど、かなりしんどい事をやっているOATファイルのリファレンスは多分現状ないので、作成予定です。Android(35章)を書いてます。売れると美味しいもの食べさせてもらえるのでよろしくお願いします。docssampleのAppLimitsが消えたdevelopers/samplesに色々増えてる。4.7のままpythonを追加runtime追加libcoreのdexホスト向けライブラリsdk大きな変更はなさげsystembluetooth削除。次回勉強会についての打ち合わせ来月にやるか、年末だから忙しいか・・・いや、クリスマスならみんな暇か?!というわけで、今日の懇親会が忘年会になるかも。