More Related Content
Similar to Intentの概要 (20)
Intentの概要
- 3. 結局” Android アプリケーションが起動するまでの流れ ” (http://dsas.blog.klab.org/archives/52003951.html) と変わらないので、このページのほうが詳細で分かりやすいです。
- 13. Intent の登場人物 カーネルランド カーネルランド ユーザーランド LinuxKernel Binder Driver Init 各 Daemon 各 Daemon 各 Daemon ServiceManager Zygote (app_process) SystemServer ActivityManager 各 Manager 各 Manager 各 Manager PackageManager
- 25. Intent でのアプリ起動 BinderDriver Init 各 Daemon Zygote SystemServer Home App1 libbinder libbinder libbinder libbinder libc libc libc libc dvm dvm dvm dvm Home App1 Activity Manager Package Manager 各 Manager App1が起動している状態。 App1がApp2を起動する。
- 26. Intent でのアプリ起動 1.Intentの生成 2.package情報問い合わせのため Binder生成 BinderDriver Init 各 Daemon Zygote SystemServer Home App1 libbinder libbinder libbinder libbinder libc libc libc libc dvm dvm dvm dvm Home App1 Activity Manager Package Manager 各 Manager
- 27. Intent でのアプリ起動 3.Intentのデータをドライバ側に書き込み 4.ドライバ内で データをSystemServer側に転送 BinderDriver Init 各 Daemon Zygote SystemServer Home App1 libbinder libbinder libbinder libbinder libc libc libc libc dvm dvm dvm dvm Home App1 Activity Manager Package Manager 各 Manager
- 28. Intent でのアプリ起動 6.PackageManagerが情報問い合わせを受け、情報を返す。 5.ドライバ側からPackageManagerプロセスに通知 BinderDriver Init 各 Daemon Zygote SystemServer Home App1 libbinder libbinder libbinder libbinder libc libc libc libc dvm dvm dvm dvm Home App1 Activity Manager Package Manager 各 Manager
- 29. Intent でのアプリ起動 7.startActivity実行 8.ActivityManagerへの実行要求の Binder生成 BinderDriver Init 各 Daemon Zygote SystemServer Home App1 libbinder libbinder libbinder libbinder libc libc libc libc dvm dvm dvm dvm Home App1 Activity Manager Package Manager 各 Manager
- 30. Intent でのアプリ起動 9.Intentのデータをドライバ側に書き込み 10.ドライバ内で データをSystemServer側に転送 BinderDriver Init 各 Daemon Zygote SystemServer Home App1 libbinder libbinder libbinder libbinder libc libc libc libc dvm dvm dvm dvm Home App1 Activity Manager Package Manager 各 Manager
- 31. Intent でのアプリ起動 12.ActivityManagerが起動要求を受け、アプリ起動処理を開始。 11.ドライバ側からActivityManagerプロセスに通知 BinderDriver Init 各 Daemon Zygote SystemServer Home App1 libbinder libbinder libbinder libbinder libc libc libc libc dvm dvm dvm dvm Home App1 Activity Manager Package Manager 各 Manager
- 34. Intent でのアプリ起動 15.App2のDexをロード、App2が起動する。 BinderDriver Init 各 Daemon Zygote SystemServer Home App1 libbinder libbinder libbinder libbinder libc libc libc libc dvm dvm dvm dvm Home App1 Activity Manager Package Manager 各 Manager App2 libbinder libc dvm App2