原创 源碼分析:onAttach, onMeasure, onLayout, onDraw 的順序。

從前文《 源碼解析:dialog, popupwindow, 和activity 的第一個view是怎麼來的?》中知道了activity第一個view或者說根view或者說mDecorView 其實就是一個FrameLayout,以及是在

原创 Kotlin學習之-6.4 Coroutines

Kotlin學習之-6.4 Coroutines 在Kotlin V1.1中Coroutines 還處在實驗階段 有些接口會做一些耗時的操作例如網絡IO請求,文件IO, CPU或者GUP密集的工作等,並且要求調用者阻塞知道操作完成。C

原创 Kotlin學習之-5.5 擴展

Kotlin學習之-5.5 擴展 Kotlin 與C# 和Gosu 類似,提供了無需必須繼承類,或者使用裝飾器模式來擴展類功能的能力。這是通過一種叫做擴展的extension特殊的聲明來實現的。Kotlin支持擴展方法和擴展屬性。 擴展方

原创 Kotlin學習之-5.4 可見性描述符

Kotlin學習之-5.4 可見性描述符 類,對象,接口,構造函數,函數,屬性以及他們的setter可以用可見性描述符來修改其可見性。getter方法的可見性通常和屬性的可見性一致。Kotlin中有4中可見性描述符:private, pr

原创 Kotlin學習之-5.13 代理屬性

Kotlin學習之-5.13 代理屬性 有一些常見的屬性,儘管我們可以每次需要他們的時候手動實現他們,但是最好還是可以實現一次然後隨處可用,並把它放到庫裏。 這些例子包括: 懶加載屬性:屬性值會在第一次訪問的時候被計算 可觀察的屬性:監

原创 源碼解析:dialog, popupwindow, 和activity 的第一個view是怎麼來的?

問題 在慢慢熟悉android 的過程中,發現一個view 或者layout的初始化,或者構造的流程還是比較清楚的,也就是加到父控件中,然後就開始了對應的生命週期。但是整個界面的父控件,或者說系統的第一個view, 是怎麼來的,如何初始化