Android開(kāi)發(fā)中經(jīng)常會(huì)因?yàn)橐蕾嚢姹旧?jí)而引起一些問(wèn)題,通過(guò)Gradle Versions Plugin[https://github.com/ben-manes/grad...
![240](https://upload.jianshu.io/users/upload_avatars/1785861/9a8a96f119c9.jpeg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
Android開(kāi)發(fā)中經(jīng)常會(huì)因?yàn)橐蕾嚢姹旧?jí)而引起一些問(wèn)題,通過(guò)Gradle Versions Plugin[https://github.com/ben-manes/grad...
怎么同步處理消息? 這個(gè)服務(wù)可以是應(yīng)用自己的服務(wù)袱院,也可以是系統(tǒng)服務(wù)婆赠,請(qǐng)求都會(huì)調(diào)到binder線程池里棺聊,binder線程將請(qǐng)求轉(zhuǎn)到工作線程里去處理侯养,工作線程在處理這個(gè)請(qǐng)求的過(guò)程...
怎么同步處理消息拍鲤? 這個(gè)服務(wù)可以是應(yīng)用自己的服務(wù)剩檀,也可以是系統(tǒng)服務(wù)憋沿,請(qǐng)求都會(huì)調(diào)到binder線程池里,binder線程將請(qǐng)求轉(zhuǎn)到工作線程里去處理沪猴,工作線程在處理這個(gè)請(qǐng)求的過(guò)程...
怎么檢查線程有耗時(shí)任務(wù)辐啄? 檢測(cè)機(jī)制 WatchDog:framework自帶機(jī)制,檢測(cè)SystemServer里的系統(tǒng)服務(wù)是否正常(是否死鎖运嗜,系統(tǒng)服務(wù)的工作線程是否還能處理新...
來(lái)說(shuō)說(shuō)Looper的副業(yè) epoll_wait返回后壶辜,下面處理事件,總共eventCount個(gè)事件担租,每個(gè)事件都有一個(gè)fd砸民, fd == mWakeEventFd: 表示有新消...
說(shuō)說(shuō)ThreadLocal的原理 Framework用到ThreadLocal的地方 Looper使用ThreadLocal Choreographer使用ThreadLoc...
怎么跨進(jìn)程傳遞大圖片 跨進(jìn)程傳大圖,有哪些方案奋救? 給圖片保存到固定地方阱洪,傳key給對(duì)方 兩次IO操作,進(jìn)程1將圖片寫(xiě)到磁盤上菠镇,進(jìn)程2從磁盤讀取冗荸。大圖的話,性能是很差的 通過(guò)I...
聽(tīng)說(shuō)過(guò)消息屏障嗎利耍? 消息隊(duì)列:?jiǎn)捂湵?消息類型: normal蚌本, barrier(屏障)盔粹, block其他消息 async,相比normal多設(shè)置了一個(gè)異步標(biāo)志位 如何想消息...
應(yīng)用主線程進(jìn)入loop循環(huán)為什么沒(méi)有ANR程癌? ANR dialog 是 在 AMS里彈出來(lái)的舷嗡,AMS在SystemServer進(jìn)程(系統(tǒng)進(jìn)程), mUiHandler:是Sy...
說(shuō)說(shuō)IdleHandler的原理 MessageQueue里的addIdleHandler方法 IdleHandler的調(diào)用時(shí)機(jī):當(dāng)next方法里的nativePollOnc...
handler的消息延時(shí)是怎么實(shí)現(xiàn)的嵌莉? postDelay:最后也是封裝一個(gè)消息調(diào)用sendMessageDelayed messageQueue其實(shí)是一個(gè)單鏈表进萄,消息的插入...
說(shuō)說(shuō)android線程間消息傳遞機(jī)制 msg.target: Handler msg.recycleUnchecked(): 回收message,將這條消息重置后锐峭,放入一個(gè)單...
線程的消息隊(duì)列是怎么創(chuàng)建的中鼠? 子線程創(chuàng)建handler 子線程中Looper.prepare(): 默認(rèn)是可以退出 主線程的Looper.prepareMainLooper:...
說(shuō)說(shuō)一說(shuō)binder的oneway機(jī)制 oneway binder 發(fā)送請(qǐng)求時(shí) 只有帶_data parclel, 沒(méi)有_reply parcel oneway的aidl的接...
binder對(duì)象跨進(jìn)程傳遞的原理是怎樣的沿癞? AIDL接口定義 publishBinder:將ICallback(binder對(duì)象)發(fā)布到另外一個(gè)進(jìn)程 AIDL接口定義生成的P...
一次完整的IPC通信流程是怎樣的援雇? 了解binder的整體架構(gòu)原理:binder的分層架構(gòu) 了解應(yīng)用和binder驅(qū)動(dòng)的交互方式:1. client端和binder驅(qū)動(dòng)的交互...
談?wù)勀銓?duì)binder的理解 client和server可以在同一進(jìn)程,也可以不在同一進(jìn)程 remote call:遠(yuǎn)程函數(shù)調(diào)用椎扬,可以帶參數(shù)(傳數(shù)據(jù)) binder通信使得進(jìn)程...
Android Framework用到了哪些IPC方式惫搏? Linux IPC 方式 1.管道, 2. Socket蚕涤, 3. 共享內(nèi)存筐赔, 4. 信號(hào) 管道通信 半雙工的,單向的...
一般一個(gè)Activity對(duì)應(yīng)一個(gè)DecorView揖铜,一個(gè)DecorView對(duì)應(yīng)一個(gè)ViewRootImpl川陆,一個(gè)ViewRootImpl持有一個(gè)Surface,UI線程即創(chuàng)建...
VSync信號(hào)機(jī)制 HWComposer:硬件生成VSync信號(hào) VSyncThread:軟件生成VSync信號(hào)的線程蛮位。如果硬件沒(méi)加載成功较沪,這里用軟件模擬生成VSync信號(hào) ...