Google Androidの構成を調べてみた
Androidのアーキテクチャについては以下のページに書いてある。英語が・・。
Android Platform | Android Developers
- Applications
- ま、見たまんま私たちが作るアプリケーションの層です。
- Application Framework
- Android Runtime
- Liblaries
- Linux Kernel
- カーネル2.6をベースにしている
アプリケーションフレームワークについて
- View
- Content Providers
- 他のアプリケーションのデータにアクセスすることができるらしい。
- Resource Manager
- 画面に表示するテキスト等の値を外部に定義することで、コードの変更なしに英語や日本語に対応させることができるらしい。
- Notification Manager
- すべてのアプリケーションはステータスバーに独自のアラートを表示させることができるらしい。
- Activity Manager
- アプリケーションのライフサイクルを管理し、ナビゲーションのbackstackを提供ってあるけど、バックスタックてなんだろw
ランタイムについて
上にも書いたように、DalvikというVM上でアプリケーションは動作します。
Andoroidの全てのアプリケーションは一つ一つ別々のLinuxのプロセスとして実行され、あるアプリケーションがクラッシュしても他のアプリケーションに影響を与えないようになっているらしい。(Dalvik、Androidのバーチャルマシーンが激しい論議を巻き起こす)これは、Google Chromeとかと同じ考え方なんだろうね。