原创 跨進程通信Messenger是如何實現的

比如有這樣一個需求,APP檢測到需要更新,爲了不影響我們本應用,我們需要別外開啓一個服務進程來下載這個APK,這就涉及到了二個進程進行通信. 這樣我們就可以使用Messenger,Messenger他其實就是對AIDL的再次封裝. Mes

原创 類加載機制及熱修復實現之插樁原理

Android中是通過ClassLoader來加載class文件的,Android中的ClassLoader分爲系統的和自定義的 系統的有BootClassLoader  DexClassLoader PathClassLoader,而D

原创 JVM內存分配分析

內存管理是JVM的核心 內存分配:Jvm在運行過程中會把所管理的內存劃分爲若干個不同的數據區域(運行時數據區)          線程私有的內存: 程序計數器,本地方法棧,虛擬機棧                 程序計數器:指向當前線

原创 Android屏幕適配的幾種方案

開頭先了瞭解一下dp,px,dpi,ppi,縮放因子scaleDensity 這裏就以榮耀V9爲例 物理分辨率爲1440*2560,5.7英寸 dpi: 這個是系統指定的爲640 scaleDensity: scaleDensity=dp

原创 組件化2---APT的實現(ARoute)--傳統寫法和JavaPoet寫法

APT技術就是得用註解來自動生成一些類式代碼 比如下面這個註解 @Target(ElementType.TYPE) @Retention(RetentionPolicy.CLASS) public @interface ARouter

原创 組件化3---組件化路由架構

完整組化件和插件化可以參考我的github項目,已經用在線上項目中 先看一下路由架構的設計圖 上面設置圖中可以分析出,一個組名對應的一個ARouter$$Apth$$xxx,,而一個ARouter$$Apth$$xxx下面會有多個跟轉路

原创 Binder機制原理的理解(方便以後自己回憶)

Binder的由來 Linux內核有幾種方式進程間通信 Socket :適用網絡通信 共享內存 : 所有進程共享同一片 管道:半雙工管道,就比如,A給B事件,跟B給A是二件事情,對講機這樣.         全雙工管道: A給B事件,跟B

原创 Rxjava從使用到原碼的解析三: Rxjava創建型操作符

Rxjava創建型操作符主要有以下幾種 create just formArray empty range 是用來創建Observable(被觀察者)的   just操作符的使用 Observable.just("A","

原创 Rxjava從使用到原碼的解析五: Rxjava過濾型操作符和條件型作符

Rxjava過濾型操作符主要有以下幾種 filter take distinct elementAt   fliter Disposable disposable = Observable.just("sanlu", "feihe")

原创 Rxjava從使用到原碼的解析一:Rxjava 的使用和標準觀察者模式的寫法

Rxjava: 一切滿足於起點和終點的這種需求都可以用Rxjava這種事件流來完成. 比如我們從服務器拿到一個圖片,然後經過很多種處理最終顯示在我們手機上. 先來 看一下Rxjava的觀察者模式 Observable:被觀察者.一個事件的