原创 AndroidX Fragment探究-生命週期

文章目錄概述源碼探究Fragment的生命週期派發狀態常量值更新FragmentManagerImpl的生命週期狀態onCreateonStartonPostResumeonPauseonStoponDestroy小結更新Frag

原创 Activity啓動流程總結-生命週期

文章目錄前言源碼探究startActivitystartActivityAsUserstartActivityMayWaitstartActivityUncheckedresumeFocusedStackTopActivityLo

原创 Activity啓動流程總結-ActivityThread

文章目錄前言源碼探究入口函數mainattachattachApplicationbindApplicationmakeApplication總結 前言 對於Activity的啓動流程,從事Android開發的同學都很熟悉。這裏

原创 Android常用Layout源碼總結—RelativeLayout

文章目錄前言RelativeLayout特點源碼探究構造函數初始化屬性設置兼容標記LayoutParams相對位置依賴關係圖節點Node依賴圖DependencyGraphonMeasure測量構建依賴關係圖輔助變量參數準備水平方

原创 手把手實現ScrollView+ViewPager+RecyclerView常規嵌套首頁佈局

文章目錄前言XML佈局一. SwipeRefreshLayout+頂部banner+RecyclerView二. SwipeRefreshLayout+頂部banner+ViewPager關於NestedScrollingPare

原创 ViewGroup事件分發總結-多點觸摸事件拆分

文章目錄前言源碼探究MotionEvent說明獲取觸摸點索引獲取指定觸摸點ID獲取所有觸摸點ID獲取指定觸摸點位置座標拆分事件實際MotionEvent數據觸摸點索引和ID關係派發過程派發目標查找執行派發dispatchTrans

原创 Android常用Layout源碼總結—LinearLayout

文章目錄前言LinearLayout特點源碼探究佈局屬性LayoutParamsonMeasure測量開始測量準備初始參數階段預測量階段補充測量階段測量尾聲階段onLayout佈局onDraw繪製總結 前言 通過學習Android

原创 Android Architecture Components+MVVM+Androidx+kotlin APP開發實踐

文章目錄項目概述APP預覽源碼flutter版本 項目概述 藉助《玩Android》網站提供的開放API開發Android客戶端。項目全部遷移Androidx,使用kotlin語言開發,通過Android Architecture

原创 ViewGroup事件分發總結-TouchTarget

文章目錄前言源碼探究TouchTarget說明重要成員變量觸摸點ID存儲對象獲取和回收事件分發流程派發前準備派發目標查找執行派發mFirstTouchTarget說明總結 前言 ViewGroup中一個完整的事件派發流程是包含一個

原创 Flutter開發實踐-《玩Android》APP客戶端重構

文章目錄項目概述工程介紹分包層級主要頁面一、主界面二、首頁三、體系源碼地址kotlin版本 項目概述 使用flutter對《玩Android》APP客戶端進行重構,採用flutter官方組件進行開發,實現了與kotlin開發的原生

原创 Android常用Layout源碼總結—FrameLayout

文章目錄前言FrameLayout特點源碼探究構造函數LayoutParams測量onMeasure佈局onLayout總結 前言 通過學習Android官方Layout的源碼,可以幫助自己更好的理解Android的UI框架系統,

原创 Glide v4 源碼淺析(3)-into(上)

文章目錄簡述源碼分析ViewTarget創建Request創建和開始加載Engine啓動ModelLoader篩選DataFetcher加載數據 簡述 Glide圖片加載框架通過into方法爲視圖設置圖片,在《Glide v4 源碼

原创 Glide v4 源碼淺析(4)-into(下)

文章目錄簡述源碼分析decode和transcode 簡述 接上部分《Glide v4 源碼淺析(3)-into(上)》,繼續分析獲取到源數據後,對數據進行解碼轉換處理,並最終設置到ImageView上。 源碼分析 decode和t

原创 Glide v4 源碼淺析(1)-with

文章目錄簡述源碼分析Glide初始化RequestManager獲取不進行生命週期綁定的RequestManager與當前Activity進行生命週期綁定的RequestManager總結 簡述 Glide爲Android平臺下的圖

原创 EventBus3實例源碼淺析(下)-索引類生成

概述 EventBus一般使用在調用register註冊時,會通過反射去解析記錄訂閱方法,運行期反射比較耗費性能。3.0提供了高級用法即索引,通過註解處理器在編譯期就提前解析記錄訂閱方法。EventBus在索引生成過程中有使用到Typ