Android TabLayout+ViewPager+Fragment
Android ListView與RecyclerView項目實戰
Android事件傳遞流程-從ViewRootImpl到View
Context、Application和ActivityThread
AndroidManifest.xml中applicaiton屬性介紹
Activity launchMode和taskaffinity
Dagger2 知識梳理(3) – 使用 dependencies 和 @SubComponent 完成依賴注入
Android 知識梳理目錄 – 好吧,這是一個很”干”的標題
RxJava2 實戰知識梳理(5) – 簡單及進階的輪詢操作
插件化知識梳理(2) – Small 框架之如何引入公共庫插件
Framework 源碼解析知識梳理(1) – 應用程序與 AMS 的通信實現
RxJava2 實戰知識梳理(11) – 檢測網絡狀態并自動重試請求
View 繪制體系知識梳理(2) – setContentView 源碼解析
Architecture Components 知識梳理(1) – Lifecycle 示例&原理
Material Design 控件知識梳理(9) – TextInputLayout
RecyclerView 知識梳理(2) – Adapter
RxJava2 實戰知識梳理(14) – 在 token 過期時,刷新過期 token 并重新發起請求
Android 數據存儲知識梳理(1) – SQLiteOpenHelper 源碼解析
Java&Android 基礎知識梳理(5) – 類加載&對象實例化
圖片基礎知識梳理(1) – ImageView 的 ScaleType 屬性解析
插件化知識梳理(5) – Small 框架之如何不將插件打包到宿主中
RxJava2 實戰知識梳理(8) – 使用 publish + merge 優化先加載緩存,再讀取網絡數據的請求過程
插件化知識梳理(4) – Small 框架之如何實現插件更新
Android 異步任務知識梳理(3) – AsyncQueryHandler 源碼解析
Framework 源碼解析知識梳理(3) – 應用進程之間的通信實現
Canvas&Paint 知識梳理(2) – Canvas 的保存和恢復
Material Design 控件知識梳理(5) – DrawerLayout && NavigationView
Material Design 控件知識梳理(2) – AppBarLayout & CollapsingToolbarLayout
RxJava2 實戰知識梳理(6) – 基于錯誤類型的重試請求
Fragment 知識梳理(1) – Fragment 源碼解析
Service 知識梳理(1) – Service 問題整理
Loader 知識梳理(1) – LoaderManager初探
Loader 知識梳理(2) – initLoader和restartLoader的區別
Architecture Components 知識梳理(3) – ViewModel 示例
OkHttp 知識梳理(4) – OkHttp 之緩存源碼解析
RxJava2 實戰知識梳理(1) – 后臺執行耗時操作,實時通知 UI 更新
RxJava2 實戰知識梳理(15) – 實現一個簡單的 MVP + RxJava + Retrofit 應用
RxJava2 實戰知識梳理(13) – 如何使得錯誤發生時不自動停止訂閱關系
Canvas&Paint 知識梳理(1) – Canvas 基礎
Dagger2 知識梳理(2) – @Qulifier 和 @Named 解決依賴注入迷失
Java&Android 基礎知識梳理(10) – SparseArray 源碼解析
多線程知識梳理(4) – synchronized 三部曲之等待/通知模型
Android 數據存儲知識梳理(2) – Android存儲目錄
RecyclerView 知識梳理(4) – ItemDecoration
Canvas&Paint 知識梳理(6) – 繪制路線 Path 基本用法
性能優化工具知識梳理(3) – 調試GPU過度繪制 & GPU呈現模式分析
圖片基礎知識梳理(3) – Bitmap&BitmapFactory 解析
Activity 知識梳理(1) – Activity生命周期
View 繪制體系知識梳理(8) – obtainStyledAttributes 詳解
組件化知識梳理(3) – Arouter 源碼分析之運行時 SDK
Fragment 知識梳理(2) – Fragment 狀態保存和恢復
組件化知識梳理(2) – Arouter 源碼分析之 Complier SDK
動畫體系知識梳理(2) – 轉場動畫 ContentTransition 實踐篇
插件化知識梳理(6) – Small 源碼分析之 Hook 原理
View 繪制體系知識梳理(3) – 繪制流程之 Measure 詳解
Fragment 知識梳理(4) – FragmentPagerAdapter 和 FragmentStatePagerAdapter 解析
OkHttp 知識梳理(2) – OkHttp 源碼解析之異步請求 & 線程調度
NDK 知識梳理(2) – 使用 CMake 進行 NDK 開發之如何編寫 CMakeLists.txt 腳本
多線程知識梳理(6) – 線程池四部曲之 ThreadPoolExecutor
多線程知識梳理(5) – 線程池四部曲之 Executor 框架
Java&Android 基礎知識梳理(9) – LruCache 源碼解析
多線程知識梳理(7) – ConcurrentHashMap 實現原理
多線程知識梳理(2) – synchronized 三部曲之基本使用
性能優化工具知識梳理(4) – Hierarchy Viewer
RxJava2 實戰知識梳理(4) – 結合 Retrofit 請求新聞資訊
NDK 知識梳理(1) – 使用 CMake 進行 NDK 開發之初體驗
Activity 知識梳理(3) – Activity狀態保存和恢復
RxJava2 實戰知識梳理(9) – 使用 timer/interval/delay 實現任務調度
View 繪制體系知識梳理(4) – 繪制過程之 Layout 詳解
Material Design 控件知識梳理(6) – Snackbar
Canvas&Paint 知識梳理(5) – Paint#setShader
Canvas&Paint 知識梳理(3) – 顏色合成 Paint#setColorFilter
Java&Android 基礎知識梳理(7) – Android 虛擬機
Kotlin 知識梳理(4) – 數據類、類委托 及 object 關鍵字
Material Design 控件知識梳理(8) – TabLayout
RxJava2 實戰知識梳理(2) – 計算一段時間內數據的平均值
Retrofit 知識梳理(2) – Retrofit 動態代理內部實現
Framework 源碼解析知識梳理(7) – Handler 的 async 標志位
Material Design 控件知識梳理(4) – FloatingActionButton
Glide 知識梳理(6) – Glide 源碼解析之流程剖析
RxJava2 實戰知識梳理(12) – 實戰講解 publish & replay & share & refCount & autoConnect
View 繪制體系知識梳理(6) – 繪制過程之 requestLayout 和 invalidate 詳解
View 繪制體系知識梳理(5) – 繪制過程之 Draw 詳解
Broadcast 知識梳理(1) – BroadcastReceiver 基本概念
動畫體系知識梳理(1) – 轉場動畫 ContentTransition 理論篇
Kotlin 知識梳理(5) – lambda 表達式和成員引用
Android 異步任務知識梳理(1) – AsyncTask 源碼解析
Dagger2 知識梳理(1) – Dagger2 依賴注入的兩種方式
Kotlin 知識梳理(10) – 高階函數:Lambda 作為形參或返回值
View 繪制體系知識梳理(1) – LayoutInflater#inflate 源碼解析
插件化知識梳理(10) – Service 插件化實現及原理
Canvas&Paint 知識梳理(4) – 圖像合成 Paint#setXfermode
Java&Android 基礎知識梳理(4) – 垃圾收集器與內存分配策略
Java&Android 基礎知識梳理(0) – Java 基礎知識大綱
Android 異步任務知識梳理(2) – HandlerThread 源碼解析
RxJava 知識梳理(3) – RxJava2 基礎知識小結
Java&Android 基礎知識梳理(6) – 字節輸入輸出流
Android 數據存儲知識梳理(4) – 數據庫升級操作的處理策略
Fragment 知識梳理(3) – FragmentPagerAdapter 和 FragmentStatePagerAdapter 的數據更新問題
Material Design 控件知識梳理(1) – Android Design Support Library 是什么
圖片壓縮知識梳理(5) – VectorDrawable 簡介
Android 數據存儲知識梳理(3) – SharedPreference 源碼解析
圖片壓縮知識梳理(6) – VectorDrawable 及 AnimatedVectorDrawable 使用詳解
Java&Android 基礎知識梳理(11) – 淺拷貝 Vs 深拷貝
Dagger2 知識梳理(4) – @Scope 注解的使用
RxJava 知識梳理(2) – RxJava2 操作符實戰
Material Design 控件知識梳理(3) – BottomSheet && BottomSheetDialog && BottomSheetDialogFragment
性能優化工具知識梳理(6) – Memory Monitor & Heap Viewer & Allocation Tracker
Framework 源碼解析知識梳理(4) – 從源碼角度談談 Handler 的應用
RxJava2 實戰知識梳理(7) – 基于 combineLatest 實現的輸入表單驗證
Material Design 控件知識梳理(7) – BottomNavigationBar
OkHttp 知識梳理(1) – OkHttp 源碼解析之入門
RxJava2 實戰知識梳理(10) – 屏幕旋轉導致 Activity 重建時恢復任務
RecyclerView 知識梳理(3) – LayoutManager
Glide 知識梳理(5) – 自定義GlideModule
多線程知識梳理(3) – synchronized 三部曲之鎖優化
Architecture Components 知識梳理(2) – LiveData 示例
Framework 源碼解析知識梳理(2) – 應用進程與 WMS 的通信實現
View 繪制體系知識梳理(7) – getMeasuredWidth 和 getWidth 的區別
RecyclerView 知識梳理(5) – ItemTouchHelper
組件化知識梳理(4) – IOC & AOP 思想在 Arouter 中的應用
插件化知識梳理(1) – Small 框架之如何引入應用插件
RxImagePicker:從零實現靈活且可高度定制的Android圖片選擇架構
【Android】快速開發偷懶必備(二) 支持DataBinding啦~爽炸,一行實現花式列表
開發工具總結(8)之圖文并茂全面總結上百個AS好用的插件(下)
Android 拍照獲取縮略圖以及完整圖片(適配androidN)
[譯]使用MVI打造響應式APP(一):Model到底是什么
躺著過坑—斷電導致AVD和SDK Manager無法正常啟動
Android 自定義View學習(十四)——View滑動學習
手把手教你從零開始做一個好看的 APP – Day four
Android——RecyclerView入門學習之DiffUtil(四)
Android 帶你擼一個好玩的 DoodleView(涂鴉)
十分鐘了解Android觸摸事件原理(InputManagerService)
Android Camera 系列(三)Camera API 詳解
為你的Android Studio打造帥氣的LogCat配色
Android 自定義View學習(十三)——View觸控事件學習
不要打破鏈式調用!一個極低成本的RxJava全局Error處理方案
Flutter基礎篇(7)– Flutter更新錯誤全面解決方案(圖文+視頻講解)
Android官方架構組件DataBinding雙向綁定篇: 觀察者模式的殊途同歸
[譯]Android開發從Dagger2遷移至Kodein的感受
Material Design學習:DrawerLayout+NavigationView
Android窗口管理分析(1):View如何繪制到屏幕上的主觀理解
Android動手實現一個側滑刪除控件,支持Recyclerview
手把手教你從零開始做一個好看的 APP – Day five
Android——RecyclerView入門學習之ItemDecoration(一)
Android硬件加速(二)-RenderThread與OpenGL GPU渲染
Flutter進階篇(5)– 使用Flutter創建插件詳解并發布到Pub庫
仿淘寶、京東拖拽商品詳情(可嵌套ViewPager、ListView、WebView、FragmentTabhost)
Android官方架構組件Paging-Ex:為分頁列表添加Header和Footer
[譯]Java將Powermock和Mockito搭配進行單元測試
Android Bitmap變遷與原理解析(4.x-8.x)
Material Design學習:CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout
告別Dagger2模板代碼:DaggerAndroid原理解析
教你打造Android揭面水波動畫庫-AnimationHelper
Android——CoordinatorLayout之Behavior入門學習(下)
Android 一起來看看 HttpURLConnection 和 HttpClient 的區別
Android自定義View:MeasureSpec的真正意義與View大小控制
Android中gradle的implementation和api指令的區別
Android面試:主線程中的Looper.loop()一直無限循環為什么不會造成ANR?
Material Design學習:ToolBar 開發使用簡介
Android 擼起袖子,自己封裝 DialogFragment
一行Java代碼實現RecyclerView的Adapter?一行都不需要!
Android 神兵利器Dagger2使用詳解(三)MVP架構下的使用
Android 自定義View學習(二)——開始了解Canvas和Paint
Flutter進階篇(4)– Flutter的Future異步詳解
開發工具總結(5)之Markdown語法圖文全面詳解及其工具介紹
動態圖解&實例 ConstraintLayout Chain
Android 一起來看看 7.0 的新特性 FileProvider
Android 實習 | 如何在春招中拿到滿意的 offer
OkHttp基礎學習(四),無網絡讀取本地緩存,有錯誤,待改正
10分鐘學會ikvStockChart制作K線圖(股票走勢圖)
Android —— 微信Sqlite數據庫框架WCDB學習
WebView深度學習(一)之WebView的基本使用以及Android和js的交互
【Android】你可能不知道的Support(一) 0步自動定向刷新SortedList
【Android】ListView、RecyclerView、ScrollView里嵌套ListView 相對優雅的解決方案:NestFullListView