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があることを意識する必要がある。 ...

Get 初めてのAndroid 第4版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.