AIDL-基本使用

10多年的喀喇沁網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷(xiāo)型網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶(hù)設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整喀喇沁建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“喀喇沁網(wǎng)站設(shè)計(jì)”,“喀喇沁網(wǎng)站推廣”以來(lái),每個(gè)客戶(hù)項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
AIDL-自定義數(shù)據(jù)類(lèi)型
AIDL-修飾符in,out,inout
AIDL-重連方法
AIDL-接口注冊(cè)/解注冊(cè)
AIDL-連接池
為什么要特意講解一下接口的注冊(cè)與取消注冊(cè)呢,因?yàn)樵谑褂肁IDL進(jìn)程跨進(jìn)程通信的時(shí)候, 每次傳遞的接口對(duì)象在內(nèi)存中的地址都是不一樣的 ,所以在注冊(cè)了之后,無(wú)法使用常規(guī)的方式去取消, 因?yàn)樽?cè)和解注冊(cè)傳遞的接口地址都不一樣 ,系統(tǒng)無(wú)法識(shí)別
由于上面的問(wèn)題,AIDL中提供了一個(gè)專(zhuān)門(mén)解決上述情況的類(lèi) RemoteCallbackList ,其工作原理就是:
首先,在前面講解 AIDL的基本使用 的基礎(chǔ)上先增加新的AIDL接口以及注冊(cè)和解注冊(cè)方法:
然后就是 RemoteCallbackList 的使用方法了:
注冊(cè)/解注冊(cè)很簡(jiǎn)單
接著是使用接口的方式:
ps: 需要注意的是 beginBroadcast() 方法和 finishBroadcast() 方法 必須配合使用 ,哪怕只是簡(jiǎn)單的獲取集合大小
使用AIDL進(jìn)行跨進(jìn)程間通信中,往往我們是需要注冊(cè)監(jiān)聽(tīng),讓服務(wù)端通知的,但是服務(wù)端也必須提供解注冊(cè)的方法,不然客戶(hù)端如果離開(kāi)某個(gè)界面不想再接受消息了,雖然直接離開(kāi)不做處理客戶(hù)端這邊不會(huì)出錯(cuò),但是服務(wù)端那邊的監(jiān)聽(tīng)集合還存在之前的,那么就會(huì)浪費(fèi)系統(tǒng)資源,所以有注冊(cè)監(jiān)聽(tīng)的時(shí)候,最好也要實(shí)現(xiàn)解注冊(cè)的方法
《Android開(kāi)發(fā)藝術(shù)探索》
源碼的執(zhí)行是按照一定流程思路進(jìn)行的,hook就是在源碼的執(zhí)行流程之間插入一步操作,起到攔截,替換的作用;被改變的對(duì)象稱(chēng)為hook點(diǎn),一般將不易發(fā)生變化的類(lèi)作為hook點(diǎn);
學(xué)習(xí)hook必須了解代理模式,可以參考我這篇文章: 反射和動(dòng)態(tài)代理
首先需要知道startactivity的流程: Android進(jìn)階解密①——activity的啟動(dòng)過(guò)程
我們知道startActivity會(huì)通過(guò)mInstrumentation這個(gè)類(lèi),我們可以將這個(gè)類(lèi)作為hook點(diǎn);
自定義一個(gè)Instrumentation,在activity的工作過(guò)程中通過(guò)反射替換原來(lái)的Instrumentation,將原來(lái)的Instrumentation傳到代理類(lèi)里面,通過(guò)method invoke保證原來(lái)的功能不變,然后可以添加自己的自定義操作;
首先拿到activity原來(lái)的Instrumentation對(duì)象,通過(guò)原來(lái)的Instrumentation構(gòu)建出一個(gè)InstrumentationProxy對(duì)象,將Proxy設(shè)置給activity,然后只要在startActivity()之前調(diào)用這個(gè)方法替換就可以了;
CSDN博客地址:
一、Android官方推出的百分比布局的使用
1、導(dǎo)入依賴(lài)
2、提供了如下的屬性
更多請(qǐng)參考: (需要正確上網(wǎng))
二、Android官方增強(qiáng)版百分比布局的使用——推薦使用
注:在官方的基礎(chǔ)上增加了布局PercentLinearLayout,支持百分比設(shè)置正方形,未改變官方原有的使用,支持設(shè)置字體的百分比,因此更推薦使用
1、導(dǎo)入依賴(lài)
2、支持的布局有
3、支持的屬性有
4、使用實(shí)例
效果圖
效果圖
效果圖
效果好像與直接使用xx%差不多,但是交換過(guò)來(lái)好像就不一樣了
效果圖
更多使用請(qǐng)參考:
新聞標(biāo)題:android進(jìn)階,Android進(jìn)階書(shū)籍
瀏覽地址:http://chinadenli.net/article40/dsgiieo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、網(wǎng)站制作、域名注冊(cè)、做網(wǎng)站、小程序開(kāi)發(fā)、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)