原创 【私人備忘錄】Android P ActivityManagerService(四)BroadcastReceiver的工作過程

靜態註冊的廣播是有PMS完成註冊的,不在AMS系列中討論,只看動態註冊。 一、註冊廣播代碼流程 ContextWrapper.java registerReceiver();Activity.java調用的是爺爺類ContextWrapp

原创 【私人備忘錄】深入理解Android之讀書筆記

一、init工作流程: 1、解析兩個配置文件,一個是系統配置文件init.rc,另一個是與硬件平臺相關的配置文件。init.硬件平臺名稱.rc。 2、執行各個階段的動作,創建zygote的工作就是在其中的某個階段完成的。 3、調用prop

原创 【翻譯】Android Q 行爲變更:以 Android Q 爲目標平臺的應用

Android Q 平臺做了一些行爲變更,這些變更可能會影響您的應用。以下行爲變更僅影響以 Android Q 或更高版本爲目標平臺的應用。如果您的應用將 targetSdkVersion 設爲“android-Q”或更高版本,則應修改您

原创 【私人備忘錄】Android P ActivityManagerService(三)Service啓動和綁定

一、startService代碼流程 Activity.java startService(mBase.startService())Context.java startService()ContextImpl.java startSer

原创 【私人備忘錄】Android P ActivityManagerService(二)關鍵類說明

一、類說明 ActivityThread: 代表的就是Android應用程序進程中的主線程,Android應用程序進程的入口函數是ActivityThread類的main函數,也就是說一個ActivityThread類對應於一個應用程序進

原创 【私人備忘錄】Android P ActivityManagerService(六)進程管理

Android中參與進程管理的主要模塊是ActivityManager,其依賴於LRU weight,OOM adj和lmkd機制(新版Low Memory Killer)共同完成進程管理。 一、LRU weight機制 LRU是Leas

原创 【私人備忘錄】Android P 去電代碼流程

一、Dialer: DialpadFragment.handleDialButtonPressed(PreCall.start()) → DialerUtils.startActivityWithErrorToast(placeCallO

原创 【翻譯】非 SDK 接口在 Android Q 中的受限情況出現變化

爲了幫助確保應用穩定性和兼容性,此平臺開始限制您的應用可在 Android 9(API 級別 28)中使用的非 SDK 接口。Android Q 包含更新後的受限非 SDK 接口列表(基於與 Android 開發者之間的協作以及最新的內部

原创 【私人備忘錄】類圖

借花獻佛,這是最經典的類圖! 點贊 6 收藏 分享 文章舉報 David_Chen528 發佈了15 篇原創文章 · 獲贊 107 · 訪問量 26萬+ 私信

原创 【翻譯】Android Q 行爲變更:所有應用

Android Q 平臺做了一些行爲變更,這些變更可能會影響您的應用。以下行爲變更將影響在 Android Q 上運行的所有應用,無論其採用哪種“targetSdkVersion”都不例外。您應該測試您的應用,然後根據需要進行更改以適當地

原创 【私人備忘錄】23種設計模式總結

 網絡上關於設計模式的說明文章一大把,這裏記錄一下每個設計模式的特點。    Abstract Factory(抽象工廠模式):提供一個創建一系列相關或相互依賴對象的接口,而無需指定它們具體的類。   Adapter(適配器模式):將一個

原创 【私人備忘錄】Android P 數據業務開啓代碼流程(二)

ConnectivityService的工作總結起來就是:通過WIFI,移動數據業務,熱點,VPN 等方式來獲取路由配置信息。無論通過哪種方式,獲取到路由配置信息後,需要交給ConnectivityService來處理,Connectiv

原创 【私人備忘錄】Android P 數據業務開啓代碼流程(一)

一、上層: 上層調用TelephonyManager.setDataEnabled(true) 二、Telephony Services: TelephonyManager.setDataEnabled(true) → PhoneInte

原创 【私人備忘錄】Android P ActivityManagerService(一)Activity啓動代碼流程

一、Launcher通過AIDL通知ActivityManagerService,它要啓動一個Activity; Launcher.java startActivitySafely() → startActivity()Activity.

原创 【工具分享】VMware 帶序列號

鏈接:https://pan.baidu.com/s/1aWVd4-Uszm3mwSC70aBFEQ  提取碼:4ne7  點贊 6 收藏 分享 文章舉報 David_Chen52