ActivityManager框架解析

2021-06-08 05:37:52 字數 610 閱讀 5258

activitymanager在作業系統中有重要的作用,本文利用作業系統原始碼,逐步理清activitymanager的框架,並從靜態類結構圖和動態序列圖兩個角度分別進行剖析,從而幫助開發人員加強對系統框架及程序通訊機制的理解。

參照sdk的說明,可見activitymanager的功能是與系統中所有執行著的activity互動提供了介面,主要的介面圍繞著執行中的程序資訊,任務資訊,服務資訊等。比如函式getrunningservices()的原始碼是:

public listgetrunningservices(int maxnum)

throws securityexception catch (remoteexception e) catch (remoteexception e) catch (remoteexception e) {

return null;

通過這樣的原始碼追蹤,我們了解到了activity啟動的底層實現機制,也加深了對proxy模式和binder機制的理解。從而為學習其他框架打下了基礎。

本文從靜態類結構和動態類結構兩個角度分析了activitymanager的框架,兼顧了binder機制和**模式在程序間通訊的機理,對幫助開發人員深化作業系統的結構和框架具有一定的指導作用。

關於XUtils框架細解

感謝關注xuitls的最近一段時間給予的熱心反饋,xutils近期做了很多細節優化之後,功能和api已經穩定。1.9.6主要更新內容 bitmap載入動畫有時重複出現的問題修復,載入過程優化 http模組requestcallback等優化。詳細更新記錄見 commits master xutils...

自然框架 之「解耦」初探

解耦,在以前確實做不到,但是周四和 橫刀天笑 聊了之後,發現解耦是可以實現的。其實很簡單,只要弄出來乙個 實體類 就可以搞定了。如果是簡單的情況,那麼就讓表單控制項 全權負責 了,這時候是不需要些什麼 的,點點滑鼠,打幾個字就可以了。如果是有複雜的業務邏輯,那麼就可以定義乙個實體類,然後讓表單控制項...

仿掘金框架之listview全解(二)

我先把昨天那篇 仿掘金框架之listview全解 一 中提到的,我們可以通過這個專案練習到的知識點再列舉一下 續 仿掘金框架之listview全解 一 思路 在listview的觸控事件當中,我們判斷手觸控滑動大於一定的正值或者小於一定的負值,我們分別對應進行頭尾bar的隱藏和顯示的屬性動畫!ste...