原创 setContentView 佈局加載流程 一、繼承 Activity 的流程 二、繼承 AppCompatActivity 的流程

Android知識總結 一、繼承 Activity 的流程 1.1、mWindow的創建 首先ActivityThread 的performLaunchActivity方法中進行activity的attach進行參數綁定 priv

原创 ViewModel 一、什麼是ViewModel 二、ViewModel中各個類 三、源碼分析 四、總結 五、ViewModel簡單使用

Android知識總結 一、什麼是ViewModel ViewModel類指在以注重生命週期的方式存儲和管理界面相關的數據。ViewModel 類讓數據可在發生屏幕旋轉等配置更改後繼續留存。在對應的作用域內,保正只生產出對應的唯一實例,保證

原创 RxJava(三) 一、調度器 Scheduler 二、背壓 三、操作符

Android知識總結 一、調度器 Scheduler 如果你想給Observable操作符鏈添加多線程功能,你可以指定操作符(或者特定的Observable)在特定的調度器(Scheduler)上執行。 使用ObserveOn和Subsc

原创 RxJava(二) 一、觀察者模式 二、訂閱的過程 二、Map源碼分析 2.1、訂閱的過程 三、RxJava裝飾模型

一、觀察者模式 1.1、傳統的觀察者模式 1.2、RxJava 的觀察者模式 區別 傳統的觀察者模式是一個 Obserable,多個 Observer。RxJava 的觀察者模式是多個 Obserable,一個 Observer。

原创 Retrofit(三) 一、ServiceMethod 二、 OkHttpCall 三、RequestBuilder類 四、總結

Android知識總結 一、ServiceMethod ServiceMethod是一個負責轉化(適配)的類,負責把一個接口的抽象方法的執行過程的結果轉化(適配)成一個網絡請求(HTTP call)。 1、ServiceMethod 內部參

原创 Retrofit(二) 一、Retrofit 對Okhttp做了什麼 二、Retrofit的構建過程 三、創建過程 四、網絡請求過程

一、Retrofit 對Okhttp做了什麼 Retrofit並沒有改變網絡請求的本質,也無需改變,因爲Okhttp已經足夠強大,Retrofit的封裝可以說是很強大,裏面涉及到一堆的設計模式,可以通過註解直接配置請求,可以使用不同的htt

原创 Binder機制(三)-代碼實現 一、Binder通信實現 二、AIDL 實現 三、Messenger 實現 AIDL

Android知識總結 一、Binder通信實現 1.1、model類 public class Person implements Parcelable { private String name; private in

原创 OkHttp講解(四)-鏈接池 一、 Interceptor 關聯類分析 二、創建鏈接流程 三、鏈接池的存取數據

一、 Interceptor 關聯類分析 1.1、 StreamAllocation 的成員變量 簡介 StreamAllocation是用來協調Connections、Streams和Calls這三個實體的。 Connections:連

原创 Java基礎-類加載機制(ClassLoader) 一、JVM 的類加載架構 二、類加載器的特性 三、Android 中 CloassLoader示意圖 四、類加載示意圖 小福利

Android知識總結 一、JVM 的類加載架構 1、Bootstrap ClassLoader(啓動類加載器) Bootstrp加載器是用C++語言寫的,它是在Java虛擬機啓動後初始化的,它主要負責加載%JAVA_HOME%/jre

原创 高級UI-RecyclerView(一) 一、四級緩存 二、Item 複用 三、創建ViewHolder 四、綁定ViewHolder 總結

Android知識總結 RecyclerView緩存基本上是通過三個內部類管理的,Recycler、RecycledViewPool和ViewCacheExtension。 一、四級緩存 RecyclerView#Recycler緩存Vi

原创 Java虛擬機(三) 一、JVM 中常見的垃圾回收器

Android知識總結 一、JVM 中常見的垃圾回收器 在新生代中,每次垃圾回收時都發現有大批對象死去,只有少量存活,那就選用複製算法,只需要付出少量存活對象的複製成本就可以完成回收。而老年代中因爲對象存活率高、沒有額外空間對它進行分配擔保

原创 Handler(四)-使用 一、HandlerThread 二、IntentService

Android知識總結 一、HandlerThread HandlerThread是Thread的子類,嚴格意義上來說就是一個線程,只是它在自己的線程裏面幫我們創建了Looper。 1) 方便使用:a. 方便初始化,b,方便獲取線程loo

原创 Handler(三) 同步屏障

Android知識總結 同步屏障 大家經過上面的學習應該知道,線程的消息都是放到同一個MessageQueue裏面,取消息的時候是互斥取消息,而且只能從頭部取消息,而添加消息是按照消息的執行的先後順序進行的排序,那麼問題來了,同一個時間範圍

原创 RxJava(一) 一、RxJava的簡單實用 二、具體代碼實現 三、加載Bitmap實例 四、多個接口鏈式調用 doOnNext()操作符的使用 五、自定義操作符(View點擊事件)

Android知識總結 一、RxJava的簡單實用 1、導包 在最外層的build.gradle中添加 project.ext { compileSdkVersion = 28 retrofitVersion = "2.4.

原创 Java基礎-IO 一、IO簡介 二、IO詳細介紹 三、字節流 四、字符流 五、字符流最常見用法 六、RandomAccessFile 七、NIO—FileChannel 總結

Android知識總結 一、IO簡介 數據流是一組有序,有起點和終點的字節的數據序列。包括輸入流和輸出流。 流序列中的數據既可以是未經加工的原始二進制數據,也可以是經一定編碼處理後符合某種格式規定的特定數據。因此Java中的流分爲兩種: