【袁辉辉】Android Binder设计之道

力雨燕

2017/12/31 发布于 技术 分类

2017年,droidcon 第2次来到中国,并将于2017年11月在北京盛大开幕。参会人群包括业界领袖、技术大咖、技术开发者、大众创业者及领域从业者。大会将邀请来自Google、微软、Facebook、Ebay、Intel、Telenav、阿里巴巴、腾讯、小米、乐视、联想等国内外安卓技术与应用领域的大咖,沿袭历年国际大会特色,聚焦行业最前沿技术,碰撞切磋技术火花。

文字内容
1. Android Binder设计之道 袁辉辉 GITYUAN
2. ANDROID BINDER设计之道
3. ⽂本
4. ANDROID BINDER设计之道
5. ANDROID BINDER设计之道 提纲 ▸ Binder༷ᬿ ▸ Binderᦡᦇ௏మ ▸ Binder᭗‫ᦓܐמ‬ ▸ BinderྒԹ᭗Ꭳ ▸ Binderᕚᑕ࿰ᓕቘ
6. ANDROID BINDER设计之道 提纲 ▸ Binder༷ᬿ ▸ Binderᦡᦇ௏మ ▸ Binder᭗‫ᦓܐמ‬ ▸ BinderྒԹ᭗Ꭳ ▸ Binderᕚᑕ࿰ᓕቘ
7. ANDROID BINDER设计之道 Binder 概述 ▸ 1991҅ George Hoffman, OpenBinder Later҅ Dinnie Hackborn҅ParmOS 2003҅ Andy Rubin, Android OS
8. ANDROID BINDER设计之道 Binder 概述 ▸ AIDL ▸ startService/ bindService ▸ send broadcast ▸ get contentProvider ▸…
9. ANDROID BINDER设计之道 例⼦:StartService( intent )
10. ANDROID BINDER设计之道 例⼦:StartService( intent )
11. ANDROID BINDER设计之道 例⼦:StartService( intent )
12. ANDROID BINDER设计之道 相关概念 ▸ BpBinder, BBinder , handle ▸ BinderProxy ▸ IPCThreadState, ProcessState ▸ binder_proc, binder_thread ▸ binder_node, binder_ref ▸ binder_buffer, binder_transaction
13. ANDROID BINDER设计之道 提纲 ▸ Binder༷ᬿ ▸ Binderᦡᦇ௏మ ▸ Binder᭗‫ᦓܐמ‬ ▸ BinderྒԹ᭗Ꭳ ▸ Binderᕚᑕ࿰ᓕቘ
14. ANDROID BINDER设计之道 BINDER DESIGN
15. ANDROID BINDER设计之道
16. ANDROID BINDER设计之道 内存
17. ANDROID BINDER设计之道 内存
18. ANDROID BINDER设计之道
19. ⽂C本/S架构
20. ANDROID BINDER设计之道 BINDER 安全性 ●փᕹIPCጱളතො෫ဩ឴஑੒ොᬰᑕ‫ݢ‬ᶌጱUID/PID҅՗ᘒ෫ဩᰄ‫ڦ‬੒ො᫝ղҔ ●Androidࣁଫአᑕଧਞᤰᬦᑕ‫׎‬૪‫ړ‬ᯈ೰ਧጱUID҅ᬰᑕጱUIDฎᰄ‫ڦ‬ᬰᑕ᫝ղጱ᯿ᥝຽ பҔֵአփᕹIPC‫ݝ‬ᚆኧአಁࣁහഝ۱᯾ऴ‫ف‬UID/PIDҔ ●Binder᭗‫מ‬ጱ᫝ղ‫௳מ‬PID/UID҅ฎኧLinuxٖ໐ࣁᬰᑕ᭗‫מ‬ᬦᑕऴ‫҅ش‬ਞ‫ݢق‬ᶌ̶
21. ANDROID BINDER设计之道 设计⾓度 ▸ ᶎ‫ݻ‬੒᨝ጱᦡᦇ֛ḵ ▸ ᔮᕹଘ‫ݣ‬ᕆጱ‫ق‬ො֖ඪ೮ֵ҅አᓌ‫ܔ‬ ▸ Binderཛྷᔡԧᬰᑕᬟኴ҅Ⴈ۸ԧᬰᑕᳵ᭗‫מ‬ᬦᑕ҅ෆӻᔮᕹճ֡ᬩᤈԭ‫ݶ‬ Ӟӻᶎ‫ݻ‬੒᨝ጱᑕଧԏӾ
23. ANDROID BINDER设计之道 提纲 ▸ Binder༷ᬿ ▸ Binderᦡᦇ௏మ ▸ Binder᭗‫ᦓܐמ‬ ▸ BinderྒԹ᭗Ꭳ ▸ Binderᕚᑕ࿰ᓕቘ
24. ANDROID BINDER设计之道 BINDER 通信协议
25. ANDROID BINDER设计之道 实例
26. ANDROID BINDER设计之道 实例
27. ANDROID BINDER设计之道 BINDER 通信协议
28. ANDROID BINDER设计之道
29. ANDROID BINDER设计之道 BINDER 通信协议
30. ANDROID BINDER设计之道 BC协议 BC‫ᦓܐ‬ BC_TRANSACTION BC_REPLY BC_FREE_BUFFER BC_REQUEST_DEATH_NOTIFICATION BC_CLEAR_DEATH_NOTIFICATION BC_DEAD_BINDER_DONE ᧣አොဩ IPC.transact() IPC.sendReply() IPC.freeBuffer() IPC.requestDeathNotification() IPC.clearDeathNotification() IPC.execute()
31. ANDROID BINDER设计之道 BR协议 BR‫ᦓܐ‬ BR_TRANSACTION ᥶‫ݎ‬෸๢ ත‫ک‬BINDER_WORK_TRANSACTION BR_REPLY ත‫ک‬BINDER_WORK_TRANSACTION BR_TRANSACTION_COMPLETE ත‫ک‬BINDER_WORK_TRANSACTION_COMPLETE BR_DEAD_BINDER ත‫ک‬BINDER_WORK_DEAD_BINDER౲ BINDER_WORK_DEAD_BINDER_AND_CLEAR BR_CLEAR_DEATH_NOTIFICATION_DONE ත‫ک‬BINDER_WORK_CLEAR_DEATH_NOTIFICATION
32. ANDROID BINDER设计之道 协议转换
33. ANDROID BINDER设计之道 BINDER调⽤栈
34. ⽂本
35. ANDROID BINDER设计之道 数据加⼯
36. ANDROID BINDER设计之道 数据加⼯
37. ANDROID BINDER设计之道 启动⼤管家
38. ANDROID BINDER设计之道 驱动加载
39. ANDROID BINDER设计之道 注册服务 ◦ Binder‫ᦓܐ‬ԅBC_TRANSACTIONҔ ◦ Handleᒵԭ0Ҕ ◦ CodeԅADD_SERVICEҔ ◦ Dataԅ”media.player”̶
40. ANDROID BINDER设计之道 请求服务
41. ANDROID BINDER设计之道 提纲 ▸ Binder༷ᬿ ▸ Binderᦡᦇ௏మ ▸ Binder᭗‫ᦓܐמ‬ ▸ BinderྒԹ᭗Ꭳ ▸ Binderᕚᑕ࿰ᓕቘ
42. 死亡通知
43. ANDROID BINDER设计之道 死亡通知
44. ANDROID BINDER设计之道 提纲 ▸ Binder༷ᬿ ▸ Binderᦡᦇ௏మ ▸ Binder᭗‫ᦓܐמ‬ ▸ BinderྒԹ᭗Ꭳ ▸ Binderᕚᑕ࿰ᓕቘ
45. ANDROID BINDER设计之道
46. ANDROID BINDER设计之道
47. ANDROID BINDER设计之道
48. ANDROID BINDER设计之道
49. Thank You