電子書籍
Androidを支える技術〈II〉──真のマルチタスクに挑んだモバイルOSの心臓部
著者 有野 和真
(概要)Androidのインターナル解説書。根底に流れるモバイルプラットフォームとしての哲学を丁寧に扱い,最新版(7,N/Nougat)までカバー。第2巻となる本書では,...
Androidを支える技術〈II〉──真のマルチタスクに挑んだモバイルOSの心臓部
ワンステップ購入とは ワンステップ購入とは
Androidを支える技術 2 真のマルチタスクに挑んだモバイルOSの心臓部 (WEB+DB PRESS plusシリーズ)
商品説明
(概要)
Androidのインターナル解説書。
根底に流れるモバイルプラットフォームとしての哲学を丁寧に扱い,最新版(7,N/Nougat)までカバー。第2巻となる本書では,Androidの核心「Activity」と「Activityのライフサイクル」に焦点を定め,システムの心臓部を徹底解説。
無数のアプリがインテントなどの仕組みを通じて協調できる環境をシステムが総力を挙げて支援する。それは,モバイルOSのAndroidが選んだ道でした。
アプリのプロセスは,フォアグラウンドを退けば常にkillされ得る。必要とされた時に半自動的に再生成される。従来のアプリケーション開発とはまったく異なる画期的なメカニズムは,そのための切り札です。また,小さな画面のモバイルにおける画面遷移のデザインの複雑さや重要性はPCやWebよりも遥かに高い。この再生成と画面遷移という2つのモバイル特有の重要な問題を,統合してエレガントに解決しよう。
それが「Activity」です。
「Activityのライフサイクルを織り込んで,アプリの仕様,遷移のデザインを考えられるか」は,Android開発者としての最初の試金石です。システムの設計思想を踏まえて,きびきびと動けるアプリをつくりたい。そのような方々を強力にサポートする技術知識を集約してお届けします。
(こんな方におすすめ)
・モバイルにおける画面遷移の複雑さと重要性を理解して、モバイルアプリ開発に活かしたい方
(目次)
本書について
第1章 AndroidとActivityの基礎知識 ──最重要は「Activity」
1.1 Activityが実現する世界 ……モバイルプラットフォームAndroidが選んだ道
1.2 [入門]Activityプログラミング ……Activityの連携,インテント,Activityの再生成
1.3 Activityはどう実現されているのか? ……本書全体の見取り図
1.4 [速習]本書で登場するAndroidの構成要素のうち,本書の主役ではない部分 ……UIスレッド/Looper,Handler,Binder,システムサービス
1.5 Activityの仕組みを支えるデーモンとシステムサービス達 ……起点はinit.rcファイル
1.6 まとめ
第2章 [詳説]アプリのインストールとその情報 ──PackageManagerServiceとpackages.xml
2.1 Google Playの衝撃 ……ユーザーも! 開発者も! 世界がつながるマーケット
2.2 アプリのインストール ……アプリをユーザーに見立てuidを割り振る
2.3 installdによるdataディレクトリの作成 ……各アプリ専用のディレクトリを作るための特権
2.4 packages.xmlによるアプリの管理 ……アプリと,uid一覧&付加情報の関係を管理
2.5 インテントとインテントの解決 ……ユーザーのために。Androidらしさの根幹にインテントあり
2.6 まとめ
第3章 カーネル側から見たメモリ不足 ──lmkdとLow Memory Killerという存在
3.1 [基礎知識]メモリ不足時のカーネル側の振る舞い ……プロセスをkillする方針と仕組みの違い
3.2 Linuxカーネルのメモリ回収 ……わりと勝手な回収になる理由,豪傑のOOM Killer
3.3 AndroidのLow Memory Killer ……段階的に振る舞いを変える,エレガントな機構
3.4 まとめ
第4章 [徹底攻略I]スタックから見た!Activityのライフサイクル ──ActivityStackとActivityManagerServiceが形づくるAndroidらしさ
4.1 ActivityStackとタスク ……遷移をデザインする技術
4.2 アプリ側から見たメモリ不足 ……重要度の低いActivityを積極的にkillしていく
4.3 Activityの生成 ……ActivityRecordとBundle
4.4 Activityのライフサイクル ……Androidの「コア」に迫る
4.5 まとめ
第5章 [徹底攻略II]アプリのプロセスから見る! Activityの生成と再生成 ──ZygoteとActivityThread
5.1 [基礎知識]アプリ側プロセスのActivity ……ActivityのライフサイクルでZygoteとActivityThreadが果たす役割
5.2 バイトコードを実行するプロセスとその始まり ……app_processとZygote
5.3 ActivityThreadとは何か? ……ActivityThreadの,3つの重要メソッドと5つの役割
5.4 ActivityThreadの構成要素とmain()メソッド ……UIスレッドの起点,ActivityThreadのインスタンス作成
5.5 attach()メソッドとApplication Contextの誕生 ……アプリの起動処理の根幹
5.6 ActivityThreadのhandleMessage() ……クラスHとライフサイクル関連処理
5.7 アプリの開始を見直す ……第2章から第5章までの知識を総動員
5.8 まとめ
第6章 Androidの始まり ──ブートローダーとinitプロセス
6.1 ブートローダーとその周辺 ……電源ONからカーネルに実行を移すまで
6.2 Androidのブートローダー ……LKブートローダーを例に
6.3 initプロセスとその始まり ……initのmain()関数から見えてくる役割
6.4 プロパティ ……システム設定を保持する小さなストレージ
6.5 init.rcとその内容 ……依存関係,異常終了や再起動を引き受ける基盤
6.6 まとめ
Appendix ActivityとViewツリーの狭間で ──第II巻と第I巻の関係が見えるViewツリーの状態の保存
A.1 ActivityのonSaveInstanceState()デフォルト実装 ……superは何を行っている?
あわせて読みたい本
前へ戻る
- 対象はありません
次に進む
この著者・アーティストの他の商品
前へ戻る
- 対象はありません
次に進む
小分け商品
前へ戻る
- 対象はありません
次に進む
この商品の他ラインナップ
前へ戻る
- 対象はありません
次に進む