原创 Android ActivityManagerService 筆記(1)

ActiivtyManagerService的main(..)(該函數被調用的地方是是SystemServer.java的ServerThread的initAndLoop(),其所在線程是調用SystemServer.main(

原创 數據使用準則

從服務器返回的數據永遠是不可靠的。 從文件讀取的數據永遠是不可靠的。 從數據庫讀取的數據永遠是不可靠的。 總結來說,外部的數據永遠是不可靠的,它會以任何突破你想象的形式出現,就像這個殘酷的現實世界一樣。 Repository是數

原创 關於RecyclerView的一些概念

在使用RecyclerView或者閱讀其源碼前最好明確一些術語代表的概念,脫離具體實現細節,在抽象設計層思考RecyclerView 背後的模型。 先以RecyclerView的一個表現形式,一個可以上下滑動的列表作爲切入點:

原创 項目網絡層重構總結

引入網絡抽象層,主要包括以下部分: Request: 通用的Request的實現結構,承載如下職責: 網絡請求信息的承載和封裝。 爲Interceptor提供切面回調。 爲第三方庫的Request**具體實現提供橋接接口。**

原创 Dialog dismiss 流程

Dialog.dismiss(): 如果是在非UI線程調用,會將dismiss這個指令schedule到UI線程的handler來異步執行 否則同步執行。 Dialog.dismissDialog()。 WindowManag

原创 RxCache的簡單源碼分析

RxCache本身的一些宏觀機制和自己的構思還是比較契合的: 最基本的一點,都將所有數據回調形式統一爲Observable. 複合key,tag + 附加信息的方式,但是RxCache做的更爲複雜,還支持keyGroup的概念

原创 RxJava 源碼筆記(1)

Notification: An object representing a notification sent to an {@link Observable} 註釋已經解釋的很清楚,代表的是響應式編程信息流中的一條消息(on

原创 ImageView的測量與繪製機制解析

mAdjustViewBounds屬性 True when ImageView is adjusting its bounds to preserve the aspect ratio of its drawable 如果允許a

原创 Android MotionEvent傳遞流程 源碼筆記

ViewGroup的boolean dispatchTouchEvent(MotionEvent ev): mInputEventConsistencyVerifier是處於debug目的使用,可以忽略。 onFilterTou

原创 Android NestedScroll筆記

NestedScrollingParent和NestedScrollingChild這套協議的目的是爲了增強(或者說反轉)Android自上而下的MotionEvent傳遞流,這條流的傳遞方向是死的,一條路走到天黑不回頭,單向的

原创 ActiveAndroid TableInfo TypeSerializer

TableInfo在構造時會傳入一個Class<\? extends Model> type對象作爲參數: 調用type.getAnnotation(Table.class) 得到一個Table註解類,裏面描述了該Model對應

原创 Android LayoutInflater & Theme

LayoutInflater創建View的流程: createViewFromTag(View parent, String name(View在xml中的名稱), AttributeSet attrs): 如果name就是”

原创 React Native 集成流水帳

安裝環境: Ubuntu-LTS-12.04 http://facebook.github.io/react-native/ React-Native官網。 http://facebook.github.io/react-nat

原创 Android DownloadManager源碼筆記

DownloadManger雖然也需要通過context的getSystemService來獲得實例,但是其本身和ConnectivityManager之類的不太一樣,其本身構造所需要的所有參數,均是當前Application可

原创 RxJava使用總結

     一些對使用RxJava的初級使用總結():              格式說明:  Operator : 表示其是一個Operator操作。Func():表示其是一個函數。ReactiveX官網: http://