Submit Search
Upload
Intentの概要
•
4 likes
•
3,242 views
L
l_b__
Follow
第17回横浜AndroidPF部資料
Read less
Read more
Technology
Report
Share
Report
Share
1 of 21
Download now
Download to read offline
Recommended
Open binder
Open binder
l_b__
Binderのはじめの一歩とAndroid
Binderのはじめの一歩とAndroid
l_b__
Binderのはじめの一歩
Binderのはじめの一歩
l_b__
JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)
l_b__
Yapf2013
Yapf2013
l_b__
C# でブロックチェーン実装
C# でブロックチェーン実装
Yuto Takei
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
Wataru NOGUCHI
Dockerを使ったクライアントハイパーバイザー
Dockerを使ったクライアントハイパーバイザー
kunst1080
Recommended
Open binder
Open binder
l_b__
Binderのはじめの一歩とAndroid
Binderのはじめの一歩とAndroid
l_b__
Binderのはじめの一歩
Binderのはじめの一歩
l_b__
JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)
l_b__
Yapf2013
Yapf2013
l_b__
C# でブロックチェーン実装
C# でブロックチェーン実装
Yuto Takei
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
Wataru NOGUCHI
Dockerを使ったクライアントハイパーバイザー
Dockerを使ったクライアントハイパーバイザー
kunst1080
Android,Brillo,ChromeOS
Android,Brillo,ChromeOS
l_b__
Git地図
Git地図
yoshiaki iwanaga
DockerでJupyter使おうぜ
DockerでJupyter使おうぜ
Satoshi Yazawa
20分でわかるgVisor入門
20分でわかるgVisor入門
Shuji Yamada
WindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティス
Ryo Sumasu
Tizen native application
Tizen native application
Naruto TAKAHASHI
Docker meetup tokyo_public_r001
Docker meetup tokyo_public_r001
cyberblack28 Ichikawa
真Drone入門
真Drone入門
Yutaka Matsubara
Ss systemdのwslディストロを作る kernelvm探検隊online part 3
Ss systemdのwslディストロを作る kernelvm探検隊online part 3
Takaya Saeki
GDKとLLVM(横浜PF部向け)
GDKとLLVM(横浜PF部向け)
demuyan
Moby Project
Moby Project
Akihiro Suda
コンテナ導入概要資料2018
コンテナ導入概要資料2018
Masahito Zembutsu
Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記
Yoshiyuki Nakamura
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013
DQNEO
Node.js Tutorial at Hiroshima
Node.js Tutorial at Hiroshima
Yoshihiro Iwanaga
レガシー環境で個人ベースでなんとか頑張るDVCS(Git)運用
レガシー環境で個人ベースでなんとか頑張るDVCS(Git)運用
kimukou_26 Kimukou
Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発
Takuya Ueda
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
vendoring が無くなると Go x Github private repo x Docker 運用が地味に面倒になって困る話 (未完)
vendoring が無くなると Go x Github private repo x Docker 運用が地味に面倒になって困る話 (未完)
Itsuki Sakitsu
Windows環境でのgitまとめ(2016.8)
Windows環境でのgitまとめ(2016.8)
Tadahiro Ishisaka
Androidのリカバリシステム (Androidのシステムアップデート)
Androidのリカバリシステム (Androidのシステムアップデート)
l_b__
Android起動周りのノウハウ
Android起動周りのノウハウ
chancelab
More Related Content
What's hot
Android,Brillo,ChromeOS
Android,Brillo,ChromeOS
l_b__
Git地図
Git地図
yoshiaki iwanaga
DockerでJupyter使おうぜ
DockerでJupyter使おうぜ
Satoshi Yazawa
20分でわかるgVisor入門
20分でわかるgVisor入門
Shuji Yamada
WindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティス
Ryo Sumasu
Tizen native application
Tizen native application
Naruto TAKAHASHI
Docker meetup tokyo_public_r001
Docker meetup tokyo_public_r001
cyberblack28 Ichikawa
真Drone入門
真Drone入門
Yutaka Matsubara
Ss systemdのwslディストロを作る kernelvm探検隊online part 3
Ss systemdのwslディストロを作る kernelvm探検隊online part 3
Takaya Saeki
GDKとLLVM(横浜PF部向け)
GDKとLLVM(横浜PF部向け)
demuyan
Moby Project
Moby Project
Akihiro Suda
コンテナ導入概要資料2018
コンテナ導入概要資料2018
Masahito Zembutsu
Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記
Yoshiyuki Nakamura
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013
DQNEO
Node.js Tutorial at Hiroshima
Node.js Tutorial at Hiroshima
Yoshihiro Iwanaga
レガシー環境で個人ベースでなんとか頑張るDVCS(Git)運用
レガシー環境で個人ベースでなんとか頑張るDVCS(Git)運用
kimukou_26 Kimukou
Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発
Takuya Ueda
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
vendoring が無くなると Go x Github private repo x Docker 運用が地味に面倒になって困る話 (未完)
vendoring が無くなると Go x Github private repo x Docker 運用が地味に面倒になって困る話 (未完)
Itsuki Sakitsu
Windows環境でのgitまとめ(2016.8)
Windows環境でのgitまとめ(2016.8)
Tadahiro Ishisaka
What's hot
(20)
Android,Brillo,ChromeOS
Android,Brillo,ChromeOS
Git地図
Git地図
DockerでJupyter使おうぜ
DockerでJupyter使おうぜ
20分でわかるgVisor入門
20分でわかるgVisor入門
WindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティス
Tizen native application
Tizen native application
Docker meetup tokyo_public_r001
Docker meetup tokyo_public_r001
真Drone入門
真Drone入門
Ss systemdのwslディストロを作る kernelvm探検隊online part 3
Ss systemdのwslディストロを作る kernelvm探検隊online part 3
GDKとLLVM(横浜PF部向け)
GDKとLLVM(横浜PF部向け)
Moby Project
Moby Project
コンテナ導入概要資料2018
コンテナ導入概要資料2018
Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013
Node.js Tutorial at Hiroshima
Node.js Tutorial at Hiroshima
レガシー環境で個人ベースでなんとか頑張るDVCS(Git)運用
レガシー環境で個人ベースでなんとか頑張るDVCS(Git)運用
Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発
DockerとPodmanの比較
DockerとPodmanの比較
vendoring が無くなると Go x Github private repo x Docker 運用が地味に面倒になって困る話 (未完)
vendoring が無くなると Go x Github private repo x Docker 運用が地味に面倒になって困る話 (未完)
Windows環境でのgitまとめ(2016.8)
Windows環境でのgitまとめ(2016.8)
Viewers also liked
Androidのリカバリシステム (Androidのシステムアップデート)
Androidのリカバリシステム (Androidのシステムアップデート)
l_b__
Android起動周りのノウハウ
Android起動周りのノウハウ
chancelab
Android Hacks - Hack57
Android Hacks - Hack57
Masanori Ohkawara
Overview of Android binder IPC implementation
Overview of Android binder IPC implementation
Chethan Pchethan
SHARPのエコ技を実装してみた
SHARPのエコ技を実装してみた
android sola
Eclipseを使ったandroid nativeデバッグ
Eclipseを使ったandroid nativeデバッグ
l_b__
Stagefright入門
Stagefright入門
l_b__
ABS2015 のセッション紹介
ABS2015 のセッション紹介
l_b__
PF開発に使えるAOSPのツール達
PF開発に使えるAOSPのツール達
l_b__
ABTest
ABTest
Shuichi Takaya
Stagefright入門
Stagefright入門
l_b__
Android組込み開発基礎コース Armadillo-440編
Android組込み開発基礎コース Armadillo-440編
OESF Education
Androidの新ビルドシステム
Androidの新ビルドシステム
l_b__
Android デバッグ小ネタ
Android デバッグ小ネタ
l_b__
Android端末のroot化について
Android端末のroot化について
Shuichi Takaya
Android™組込み開発基礎コース BeagleBoard編
Android™組込み開発基礎コース BeagleBoard編
OESF Education
[1D6]RE-view of Android L developer PRE-view
[1D6]RE-view of Android L developer PRE-view
NAVER D2
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
Kunimasa Noda
Android binder-ipc
Android binder-ipc
magoroku Yamamoto
Android ipm 20110409
Android ipm 20110409
Tetsuyuki Kobayashi
Viewers also liked
(20)
Androidのリカバリシステム (Androidのシステムアップデート)
Androidのリカバリシステム (Androidのシステムアップデート)
Android起動周りのノウハウ
Android起動周りのノウハウ
Android Hacks - Hack57
Android Hacks - Hack57
Overview of Android binder IPC implementation
Overview of Android binder IPC implementation
SHARPのエコ技を実装してみた
SHARPのエコ技を実装してみた
Eclipseを使ったandroid nativeデバッグ
Eclipseを使ったandroid nativeデバッグ
Stagefright入門
Stagefright入門
ABS2015 のセッション紹介
ABS2015 のセッション紹介
PF開発に使えるAOSPのツール達
PF開発に使えるAOSPのツール達
ABTest
ABTest
Stagefright入門
Stagefright入門
Android組込み開発基礎コース Armadillo-440編
Android組込み開発基礎コース Armadillo-440編
Androidの新ビルドシステム
Androidの新ビルドシステム
Android デバッグ小ネタ
Android デバッグ小ネタ
Android端末のroot化について
Android端末のroot化について
Android™組込み開発基礎コース BeagleBoard編
Android™組込み開発基礎コース BeagleBoard編
[1D6]RE-view of Android L developer PRE-view
[1D6]RE-view of Android L developer PRE-view
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
Android binder-ipc
Android binder-ipc
Android ipm 20110409
Android ipm 20110409
Similar to Intentの概要
Android0422
Android0422
takahiko_takahashi
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
techtalkdwango
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
Yuki Higuchi
Android程序的编译,安装和运行 | 小米科技 汪文俊
Android程序的编译,安装和运行 | 小米科技 汪文俊
imShining @DevCamp
マスタリング DEA/NG 第2版
マスタリング DEA/NG 第2版
i_yudai
Android Hacks - 合宿インテント
Android Hacks - 合宿インテント
Masanori Ohkawara
デバイスWebAPI実装のアップデートと利用事例について
デバイスWebAPI実装のアップデートと利用事例について
Device WebAPI Consortium
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
Yuta Matsumura
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
Naruto TAKAHASHI
Code ignitertalk 01
Code ignitertalk 01
Takako Miyagawa
Rancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げる
Michitaka Terada
さわってみよう Firefox OS in 大阪
さわってみよう Firefox OS in 大阪
Honma Masashi
Android multiscreen
Android multiscreen
Kazuaki Ueda
Sflt17 meteorではじめる最速ウェブアプリ開発
Sflt17 meteorではじめる最速ウェブアプリ開発
Hironao Sekine
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
Takako Miyagawa
[Cloud OnAir] アプリケーションにフォーカス!ビジネスに直結する開発の極意をご紹介します。(e-Learning) 2018年3月15日 放送
[Cloud OnAir] アプリケーションにフォーカス!ビジネスに直結する開発の極意をご紹介します。(e-Learning) 2018年3月15日 放送
Google Cloud Platform - Japan
Beam利用アプリ紹介+関連技術ネタ
Beam利用アプリ紹介+関連技術ネタ
Kenichi Kambara
Google Cloud Messaging for Android ことはじめ(サンプルコードを動かしてみる編)
Google Cloud Messaging for Android ことはじめ(サンプルコードを動かしてみる編)
kojiokb
App widgetでテザリング
App widgetでテザリング
Eiichi Tsuru
Android SDK Toolsのおさらい
Android SDK Toolsのおさらい
Tomoki YAMASHITA
Similar to Intentの概要
(20)
Android0422
Android0422
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
Android程序的编译,安装和运行 | 小米科技 汪文俊
Android程序的编译,安装和运行 | 小米科技 汪文俊
マスタリング DEA/NG 第2版
マスタリング DEA/NG 第2版
Android Hacks - 合宿インテント
Android Hacks - 合宿インテント
デバイスWebAPI実装のアップデートと利用事例について
デバイスWebAPI実装のアップデートと利用事例について
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
Code ignitertalk 01
Code ignitertalk 01
Rancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げる
さわってみよう Firefox OS in 大阪
さわってみよう Firefox OS in 大阪
Android multiscreen
Android multiscreen
Sflt17 meteorではじめる最速ウェブアプリ開発
Sflt17 meteorではじめる最速ウェブアプリ開発
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
[Cloud OnAir] アプリケーションにフォーカス!ビジネスに直結する開発の極意をご紹介します。(e-Learning) 2018年3月15日 放送
[Cloud OnAir] アプリケーションにフォーカス!ビジネスに直結する開発の極意をご紹介します。(e-Learning) 2018年3月15日 放送
Beam利用アプリ紹介+関連技術ネタ
Beam利用アプリ紹介+関連技術ネタ
Google Cloud Messaging for Android ことはじめ(サンプルコードを動かしてみる編)
Google Cloud Messaging for Android ことはじめ(サンプルコードを動かしてみる編)
App widgetでテザリング
App widgetでテザリング
Android SDK Toolsのおさらい
Android SDK Toolsのおさらい
Recently uploaded
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
sugiuralab
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
sugiuralab
Recently uploaded
(7)
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
Intentの概要
1.
Intent の概略 横浜
Android プラットフォーム部 第 17 回勉強会 2012/1/28 @l_b__
2.
3.
結局” Android
アプリケーションが起動するまでの流れ ” (http://dsas.blog.klab.org/archives/52003951.html) と変わらないので、このページのほうが詳細で分かりやすいです。
4.
5.
コンポーネント間のメッセージングにも使用
6.
7.
分散 OS としてのフレームワークが
Binder フレームワーク。
8.
プロセス間のメッセージングとして Binder IPC
(InterProcessCommunication) が用意されている。
9.
10.
Zygote+Android フレームワーク +libbinder
11.
PackageManager
12.
ActivityManager
13.
Intent の登場人物 カーネルランド
カーネルランド ユーザーランド LinuxKernel Binder Driver Init 各 Daemon 各 Daemon 各 Daemon ServiceManager Zygote (app_process) SystemServer ActivityManager 各 Manager 各 Manager 各 Manager PackageManager
14.
15.
Binder ドライバは登録されたユーザーランド側プロセスを Binder
オブジェクトとして管理。
16.
17.
18.
19.
20.
21.
22.
暗黙的 Intent やブロードキャスト
Intent の場合、対象となるパッケージの情報を返す。
23.
24.
実際の起動は ” Android
アプリケーションが起動するまでの流れ ”に詳しい。
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
32.
Intent でのアプリ起動 13.ActivityManagerの要求でZygoteプロセスをApp2向けにFork
(Localソケットベースでの要求) 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
33.
Intent でのアプリ起動 14.App2でProcessStateを生成、ドライバをオープンし、共有メモリをマッピング
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
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
35.
Download now