原创 Android插件化——深入理解Context機制

1、Context介紹 Context在Android中表示上下文對象,也是開發中經常使用的類,如資源的獲取、View的創建、窗口創建添加等,在Android的四大組件中也隨處可見Context的身影,也是Context使用的主戰

原创 Android進階知識樹——理解系統服務WindowManagerService

1、WMS WMS主要功能 窗口管理:WMS負責整個系統窗口的啓動、添加、刪除工作,系統中每個程序的顯示都由WMS管理 窗口動畫管理:WMS負責窗口添加或切換時動畫效果的執行 窗口輸入管理:WMS負責對窗口的觸摸事件進行反饋

原创 Androdi熱修復之路 ——熱修復框架Tinker 源碼分析

關於Tinker的使用和接入請讀者參考https://github.com/Tencent/tinker自行學習,本文主要從源碼的角度分析下Tinker的執行流程,讀本文前需要讀者瞭解Android加載機制和ClassLoader

原创 Android框架源碼分析——Glide源碼分析

1、Glide的使用 Glide.with(this).load(url).into(imageView) 在當下Glide已經是很常見的圖片加載工具了,相信很多開發者都體會到其方便指出,Glide的使用就簡單一句話即可

原创 Android框架源碼分析——Retrofit源碼分析

1、使用Demo public static <T> T createApi(Class<T> clazz, String url) { Retrofit retrofit = new Retrofit.Builder()

原创 Android插件化——高手必備的Hook技術

1、Hook技術 在程序開發中方法的調用和執行都是按順序執行的,那如果我們想修改或接入程序的執行,就必須在執行的過程中插入自己的程序,但同時又不影響原來程序的執行,這就是Hook 技術,Hook中文意思是鉤子,它是一個兩頭的鉤子,

原创 Android框架源碼分析——Glide緩存機制源碼分析

1、Glide的緩存 Glide 在加載圖片時會依次訪問以下緩存: 活動資源 (Active Resources) - 現在是否有另一個 View 正在展示這張圖片? 內存緩存 (Memory cache) - 該圖片是否最

原创 深入PMS源碼(三)—— PMS中intent-filter的匹配架構

1、簡介 由前面深入PMS源碼(一)—— PMS的啓動過程和執行流程和深入PMS源碼(二)—— APK的安裝和卸載源碼分析兩篇文章知道,無論是Android系統啓動後執行的PMS啓動,還是使用PackageInstaller安裝A

原创 深入AMS源碼(四)——ActivityManagerService的進程管理

1、AMS中的進程管理 final ArrayList<ProcessRecord> mLruProcesses = new ArrayList<ProcessRecord>(); 在AMS的內部屬性中使用mLruProces

原创 深入AMS源碼(一)——ActivityManagerService的基礎知識

自從讀過Android內核剖析這本書之後,對整個安卓的系統有了更深的認識和理解,前面寫了3篇文章(深入PMS源碼)分析了PMS的相關代碼,之後會將相關知識都整理在博客上,本篇開始將從源碼角度分析AMS的執行邏輯,AMS作爲Andr

原创 Android框架源碼分析——RxJava&Schedule源碼分析

1、線程切換使用實例 Observable.create(object:ObservableOnSubscribe<String>{ override fun subscribe(e: ObservableEmitter<

原创 Android進階知識樹——JNI和So庫開發

1、Jni基礎知識 JNI是Java Native Interface的縮寫,意思是Java的本地接口,這個本地接口主要指Java可以通過本地接口去和其他的編程語言通信,有時在開發某個功能時想使用之前的技術積累或封裝好的模塊,但不

原创 Android框架源碼分析——RxJava源碼分析

1、基本訂閱流程 使用實例 Observable.create(ObservableOnSubscribe<String> { e -> e.onNext("A") }) .subscribe(object : Obs

原创 深入AMS源碼(三)——ActivityManagerService的內存管理

1、簡介 AMS對內存管理 當應用程序關閉後,後臺對應的進程並沒有真正的退出進程只是處於sleep狀態,以便下次啓動能快速啓動,即關閉而不退出; 當系統內存不足時,AMS會回調相應的應用程序通知釋放內存; 當系統內存不足時,

原创 Android進階知識樹——Android四大組件啓動過程

Android的四大鑽無論對開發者或是用戶都意義重大,對於用戶來說應用就是Activity,用戶所能看到的和交互的都發生在Activity中,對於開發者來說四大組件更是開發功能個展示功能的基礎和媒介,對於初級開發者每天的工作都在和