6月16日に秋葉原ダイビルで開催された「Android勉強会 第4回」に参加してきました。定員を大きく超える応募があったそうで、抽選に当選して何とか参加することができました。副都心線の影響(?)で少し遅れて会場に到着したため、既に席はほとんど埋まっていて100人くらいはいたんじゃないかと思います。
Google I/O, Developer Day ともに参加したのですが、 Android のセッションにはほとんど出なかったので、安藤恐竜さんのプレゼンはかなり参考になりました。それから、やはり動いている実機でプレゼンというのはインパクトがありますね。懇親会にも参加させてもらったのですが、いろいろなメーカーやゲーム業界の人などもいて楽しかったです。Android については、単に携帯電話のプラットフォームと捉えていると判断を誤りそうな感じがします。
ブリリアントサービス 近藤さん
- Armadilloの実機でAndroidを動かして、自作アプリケーションでプレゼン!
- Androidデバイスが巷に溢れるはず
- 一年後がどうなっているかは想像が付かない(いい意味で)
- メモリ64MBでは厳しいのではないか?
- サウンドは? - 鳴ります。PCM 48kHz,ALSA
- 3Dアクセラレーション対応ボードを買えばもっと性能が出るかも
日立ソフトさん
- モバイルこそセキュリティが重要 → SELinux
- 実際にlibpngの脆弱性があった
- カーネルの対応、ユーザランドの移植、セキュリティポリシーの準備が必要
- 組み込み用でも数万ルールの設定が必要
- カーネルのチューニングをして、500kbyte以内に抑えている
- SELinux Policy Editorオープンソースで公開している
- Android on Zaurus SL-C3200
- privateとbusinessのセキュリティ権限設定の確認
安藤恐竜さん
- Binder:
shared memory方式によるパフォーマンス改善
プロセス単位のスレッドプール - Power Management:
バッテリーが最大のボトルネック
Linux PMの上に拡張
FULL_WAKE_LOCK(cpu,lcd),PARTIAL_WAKE_LOCK(cpu) - Bionic:
カスタマイズされたlibc、組み込み用に最適化
BSDライセンス(GPLの混入を嫌がった?)
pthread, setprop/getprop
POSIX完全準拠ではない
glibc互換ではない - HAL:
上位層をハードウェアから分離
pmap - Dalvik:
200-500MhzのCPU
RAM 64MB ROM 64MB
バッテリー - Dexファイルの構造:
データをタイプごとに整理
データにidを付けてポインタのみ上部に格納
ファイルサイズをjarの半分以下に - Zygote:
ダーティーでシェアードメモリ
クラスをプリロードし初期化 - Dalvikはレジスタマシン、通常のJava VMはスタックマシン
- Androidアプリを開発する上での心得:
賢くループ
先にlimitを計算しておく
CPUとメモリはボトルネックではない、バッテリーがボトルネック
バッテリーにムーアの法則は成り立たない


























