- 不同進(jìn)程間處于不同的虛擬內(nèi)存中,無法直接通過內(nèi)存地址訪問對(duì)方內(nèi)部數(shù)據(jù),因此在Android中采用了Binder機(jī)制
- Binder組成:
- Binder驅(qū)動(dòng):將請(qǐng)求投遞到對(duì)方進(jìn)程中
- Service Manager:獲取各進(jìn)程持有的Binder標(biāo)志(類似于IP地址)
- Binder Client:請(qǐng)求數(shù)據(jù)的進(jìn)程
- Binder Server:提供數(shù)據(jù)的進(jìn)程
- Binder使用到智能指針(SmartPointer)源碼用C++編寫。避免了初始化、delete、野指針的發(fā)生。
- 引用計(jì)數(shù):被引用對(duì)象擁有一個(gè)計(jì)數(shù)器,當(dāng)被引用數(shù)為0時(shí)即可以釋放對(duì)象。
- 強(qiáng)引用sp:
- 弱引用wp:針對(duì)兩個(gè)對(duì)象間相互引用的循環(huán)引用導(dǎo)致的被死鎖而不能被內(nèi)存回收器回收的現(xiàn)象。規(guī)定強(qiáng)指針用于引用子類,弱指針用于引用父類。弱指針必需先升級(jí)為強(qiáng)指針才能訪問對(duì)象
9.6
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- Android跨進(jìn)程通信IPC整體內(nèi)容如下 1、Android跨進(jìn)程通信IPC之1——Linux基礎(chǔ)2、Andro...
- 1:InputChannel提供函數(shù)創(chuàng)建底層的Pipe對(duì)象 2: 1)客戶端需要新建窗口 2)new ViewRo...
- Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
- 下面先看看Binder通信的模型圖: Binder是Android系統(tǒng)進(jìn)程間通信(IPC)方式之一。Linux已經(jīng)...
- 整理一些常見的Android面試題(針對(duì)于2~3年開發(fā)經(jīng)驗(yàn)中所遇到的問題) synchronized鎖靜態(tài)方法和非...