2章基本コンセプト
Androidとは何かがわかったところでその仕組みを見ていくことにしよう。Androidの構成要素の中でもLinuxカーネル、SQLデータベースなどはすでにご存知かもしれない。一方アプリのライフサイクルにおけるAndroidの考え方などはなじみがないだろう。
行儀よく動作するAndroidアプリを書くためには、基本コンセプトをよく理解しておく必要がある。本書でたったひとつの章だけ読むとすれば、本章を読むべきだ。
2.1 全体像
最初はシステム全体のアーキテクチャ、つまりAndroidオープンソースソフトウェアスタックを構成している主要なレイヤーとコンポーネントを見ていこう。図2-1は上空から航空写真のように地上のAndroidを見下ろしたところを示したものだ。これをじっくり勉強しよう。テストは明日だ。
各レイヤーはその下のレイヤーが提供するサービスを利用している。以下の節では下からAndroidの各レイヤーを見ていく。
2.1.1 Linuxカーネル
Androidは安定した環境として定評のある基礎、すなわちLinuxカーネルのもとで動作するように作られている。LinuxはLinus Torvaldsによって1991年に開発されたOSで、今では腕時計からスーパーコンピュータに至るまで、ありとあらゆるものに搭載されている。LinuxがAndroidに対してハードウェア抽象化レイヤーを提供しているので、将来にわたってAndroidはさまざまなプラットフォームに移植できるはずだ。
内部的にAndroidはメモリ管理、プロセス管理、ネットワーキング、その他のシステムサービスの実行のためにLinuxを使っている。AndroidユーザーからはLinuxは見えないし、あなたの作るプログラムも直接的なLinux呼び出しを行うことはない。しかし開発者としてはLinuxがあることを意識する必要がある。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access