Android - 收藏集

Android 自定義View的各種姿勢(shì)1

Activity的顯示之ViewRootImpl詳解

Activity的顯示之ViewRootImpl初探

Activity的顯示之Window和View

Android系統(tǒng)的創(chuàng)世之初以及Activity的生命周期

圖解Android事件分發(fā)機(jī)制(深入底層源碼)

Android 自定義View的各種姿勢(shì)2

Android 內(nèi)存泄漏分析與解決

Android消息機(jī)制

Android Binder(也許是最容易理解的)

Android 徹底掌握Binder

Android序列化

Android Fragment詳解

Android Fragment最佳實(shí)踐

Android TabLayout+ViewPager+Fragment

Android ListView

Android RecyclerView

Android ListView與RecyclerView項(xiàng)目實(shí)戰(zhàn)

Android 動(dòng)畫(huà)

Android 動(dòng)畫(huà)(續(xù))

Android HTTP

首個(gè)hybird商業(yè)項(xiàng)目踩坑總結(jié)

Android并發(fā)編程 開(kāi)篇

Android并發(fā)編程 多線程與鎖

Android并發(fā)編程 原子類與并發(fā)容器

SystemServer啟動(dòng)過(guò)程(framework)

ListView復(fù)用View原理分析

Android創(chuàng)建綁定服務(wù)的3種方法

管理應(yīng)用內(nèi)存

DecorView顯示過(guò)程

Activity setContentView過(guò)程分析

VelocityTracker用法

Android中View的測(cè)量measure過(guò)程

Android WatchDog原理分析

Android事件傳遞流程-從ViewRootImpl到View

ViewManager接口分析

Android平臺(tái)開(kāi)源log工具-Logger

Android進(jìn)程優(yōu)先級(jí)和oom_adj

使用gradle減少apk大小

Zyote啟動(dòng)之framework

常見(jiàn)的apk簽名方式

Volley源碼分析

SystemServer啟動(dòng)過(guò)程(native)

Context世剖、Application和ActivityThread

AndroidManifest.xml中applicaiton屬性介紹

Android播放器音樂(lè)信息亂碼及其解決方法

Zygote啟動(dòng)之native

管理 Activity 生命周期

Android中ViewGroup的布局layout過(guò)程

GestureDetector用法

LeakCanary和常見(jiàn)內(nèi)存泄漏場(chǎng)景

apk反編譯與二次打包

Android性能分析工具Systrace

Android常見(jiàn)技巧

Activity launchMode和taskaffinity

Kotlin 知識(shí)梳理(13) – 運(yùn)行時(shí)的泛型

Dagger2 知識(shí)梳理(3) – 使用 dependencies 和 @SubComponent 完成依賴注入

Android 知識(shí)梳理目錄 – 好吧,這是一個(gè)很”干”的標(biāo)題

面試算法知識(shí)梳理(11) – 二叉樹(shù)算法第一部分

Glide 知識(shí)梳理(4) – 自定義animate

RxJava2 實(shí)戰(zhàn)知識(shí)梳理(5) – 簡(jiǎn)單及進(jìn)階的輪詢操作

性能優(yōu)化工具知識(shí)梳理(5) – MAT

Kotlin 知識(shí)梳理(1) – Kotlin 基礎(chǔ)

插件化知識(shí)梳理(2) – Small 框架之如何引入公共庫(kù)插件

面試算法知識(shí)梳理(7) – 數(shù)組第四部分

圖片壓縮知識(shí)梳理(8) – WebP 使用詳解

Activity 知識(shí)梳理(2) – Activity 棧

Framework 源碼解析知識(shí)梳理(1) – 應(yīng)用程序與 AMS 的通信實(shí)現(xiàn)

RxJava2 實(shí)戰(zhàn)知識(shí)梳理(11) – 檢測(cè)網(wǎng)絡(luò)狀態(tài)并自動(dòng)重試請(qǐng)求

插件化知識(shí)梳理(7) – 類的動(dòng)態(tài)加載入門(mén)

性能優(yōu)化技巧知識(shí)梳理(1) – 布局優(yōu)化

View 繪制體系知識(shí)梳理(2) – setContentView 源碼解析

Architecture Components 知識(shí)梳理(1) – Lifecycle 示例&原理

Material Design 控件知識(shí)梳理(9) – TextInputLayout

設(shè)計(jì)模式知識(shí)梳理(5) – 結(jié)構(gòu)型 – 外觀模式

RecyclerView 知識(shí)梳理(2) – Adapter

零散知識(shí)點(diǎn)總結(jié)(3) – Android 狀態(tài)欄知識(shí)點(diǎn)總結(jié)

性能優(yōu)化技巧知識(shí)梳理(3) – 如何排查列表卡頓問(wèn)題

RxJava2 實(shí)戰(zhàn)知識(shí)梳理(14) – 在 token 過(guò)期時(shí),刷新過(guò)期 token 并重新發(fā)起請(qǐng)求

多線程知識(shí)梳理(9) – ThreadLocal

面試算法知識(shí)梳理(8) – 二分查找算法及其變型

Android 數(shù)據(jù)存儲(chǔ)知識(shí)梳理(1) – SQLiteOpenHelper 源碼解析

Java&Android 基礎(chǔ)知識(shí)梳理(5) – 類加載&對(duì)象實(shí)例化

Loader 知識(shí)梳理(3) – 自定義Loader

圖片基礎(chǔ)知識(shí)梳理(1) – ImageView 的 ScaleType 屬性解析

插件化知識(shí)梳理(5) – Small 框架之如何不將插件打包到宿主中

RxJava2 實(shí)戰(zhàn)知識(shí)梳理(8) – 使用 publish + merge 優(yōu)化先加載緩存秃踩,再讀取網(wǎng)絡(luò)數(shù)據(jù)的請(qǐng)求過(guò)程

插件化知識(shí)梳理(4) – Small 框架之如何實(shí)現(xiàn)插件更新

Android 異步任務(wù)知識(shí)梳理(3) – AsyncQueryHandler 源碼解析

Framework 源碼解析知識(shí)梳理(3) – 應(yīng)用進(jìn)程之間的通信實(shí)現(xiàn)

Canvas&Paint 知識(shí)梳理(2) – Canvas 的保存和恢復(fù)

面試算法知識(shí)梳理(9) – 鏈表算法第一部分

Material Design 控件知識(shí)梳理(5) – DrawerLayout && NavigationView

Material Design 控件知識(shí)梳理(2) – AppBarLayout & CollapsingToolbarLayout

Kotlin 知識(shí)梳理(12) – 泛型類型參數(shù)

RxJava2 實(shí)戰(zhàn)知識(shí)梳理(6) – 基于錯(cuò)誤類型的重試請(qǐng)求

Fragment 知識(shí)梳理(1) – Fragment 源碼解析

Service 知識(shí)梳理(1) – Service 問(wèn)題整理

Loader 知識(shí)梳理(1) – LoaderManager初探

Loader 知識(shí)梳理(2) – initLoader和restartLoader的區(qū)別

Architecture Components 知識(shí)梳理(3) – ViewModel 示例

OkHttp 知識(shí)梳理(4) – OkHttp 之緩存源碼解析

RxJava2 實(shí)戰(zhàn)知識(shí)梳理(1) – 后臺(tái)執(zhí)行耗時(shí)操作,實(shí)時(shí)通知 UI 更新

RxJava2 實(shí)戰(zhàn)知識(shí)梳理(15) – 實(shí)現(xiàn)一個(gè)簡(jiǎn)單的 MVP + RxJava + Retrofit 應(yīng)用

RxJava2 實(shí)戰(zhàn)知識(shí)梳理(13) – 如何使得錯(cuò)誤發(fā)生時(shí)不自動(dòng)停止訂閱關(guān)系

Canvas&Paint 知識(shí)梳理(1) – Canvas 基礎(chǔ)

Kotlin 知識(shí)梳理(3) – 類钦听、對(duì)象和接口

零散知識(shí)點(diǎn)總結(jié)(2) – Ubuntu下切換JDK版本

Java&Android 基礎(chǔ)知識(shí)梳理(3) – 內(nèi)存區(qū)域

Dagger2 知識(shí)梳理(2) – @Qulifier 和 @Named 解決依賴注入迷失

Java&Android 基礎(chǔ)知識(shí)梳理(10) – SparseArray 源碼解析

多線程知識(shí)梳理(4) – synchronized 三部曲之等待/通知模型

Java&Android 基礎(chǔ)知識(shí)梳理(13) – 反射

Android 數(shù)據(jù)存儲(chǔ)知識(shí)梳理(2) – Android存儲(chǔ)目錄

RecyclerView 知識(shí)梳理(4) – ItemDecoration

Canvas&Paint 知識(shí)梳理(6) – 繪制路線 Path 基本用法

性能優(yōu)化工具知識(shí)梳理(3) – 調(diào)試GPU過(guò)度繪制 & GPU呈現(xiàn)模式分析

圖片基礎(chǔ)知識(shí)梳理(3) – Bitmap&BitmapFactory 解析

Activity 知識(shí)梳理(1) – Activity生命周期

Kotlin 知識(shí)梳理(11) – 內(nèi)聯(lián)函數(shù)

Java&Android 基礎(chǔ)知識(shí)梳理(8) – 容器類

View 繪制體系知識(shí)梳理(8) – obtainStyledAttributes 詳解

組件化知識(shí)梳理(3) – Arouter 源碼分析之運(yùn)行時(shí) SDK

Fragment 知識(shí)梳理(2) – Fragment 狀態(tài)保存和恢復(fù)

組件化知識(shí)梳理(2) – Arouter 源碼分析之 Complier SDK

我是如何準(zhǔn)備 Android 技術(shù)面試的~

Kotlin 知識(shí)梳理(6) – Kotlin 的可空性

Glide 知識(shí)梳理(1) – 基本用法

動(dòng)畫(huà)體系知識(shí)梳理(2) – 轉(zhuǎn)場(chǎng)動(dòng)畫(huà) ContentTransition 實(shí)踐篇

Android 知識(shí)梳理目錄 – To do

面試算法知識(shí)梳理(6) – 數(shù)組第三部分

View 事件傳遞體系知識(shí)梳理(1) – 事件分發(fā)機(jī)制

圖片壓縮知識(shí)梳理(9) – 選擇合適的圖片格式

面試算法知識(shí)梳理(3) – 字符串算法第二部分

面試算法知識(shí)梳理(2) – 字符串算法第一部分

插件化知識(shí)梳理(6) – Small 源碼分析之 Hook 原理

面試算法知識(shí)梳理(4) – 數(shù)組第一部分

設(shè)計(jì)模式知識(shí)梳理(2) – 結(jié)構(gòu)型 – 橋接模式

RxJava 知識(shí)梳理(1) – RxJava 基本思想

面試算法知識(shí)梳理(1) – 排序算法

View 繪制體系知識(shí)梳理(3) – 繪制流程之 Measure 詳解

Fragment 知識(shí)梳理(4) – FragmentPagerAdapter 和 FragmentStatePagerAdapter 解析

OkHttp 知識(shí)梳理(2) – OkHttp 源碼解析之異步請(qǐng)求 & 線程調(diào)度

Kotlin 知識(shí)梳理(7) – Kotlin 的類型系統(tǒng)

插件化知識(shí)梳理(9) – 資源的動(dòng)態(tài)加載示例及源碼分析

Kotlin 知識(shí)梳理(9) – 委托屬性

Android 面試文檔分享

NDK 知識(shí)梳理(2) – 使用 CMake 進(jìn)行 NDK 開(kāi)發(fā)之如何編寫(xiě) CMakeLists.txt 腳本

多線程知識(shí)梳理(6) – 線程池四部曲之 ThreadPoolExecutor

多線程知識(shí)梳理(5) – 線程池四部曲之 Executor 框架

Java&Android 基礎(chǔ)知識(shí)梳理(9) – LruCache 源碼解析

多線程知識(shí)梳理(7) – ConcurrentHashMap 實(shí)現(xiàn)原理

多線程知識(shí)梳理(2) – synchronized 三部曲之基本使用

性能優(yōu)化工具知識(shí)梳理(4) – Hierarchy Viewer

架構(gòu)設(shè)計(jì)知識(shí)梳理(2) – Flux

RxJava2 實(shí)戰(zhàn)知識(shí)梳理(3) – 優(yōu)化搜索聯(lián)想功能

設(shè)計(jì)模式知識(shí)梳理(6) – 結(jié)構(gòu)型 – 享元模式

Java&Android 基礎(chǔ)知識(shí)梳理(12) – 泛型

RxJava2 實(shí)戰(zhàn)知識(shí)梳理(4) – 結(jié)合 Retrofit 請(qǐng)求新聞資訊

Android 版本適配問(wèn)題

性能優(yōu)化技巧知識(shí)梳理(2) – 內(nèi)存優(yōu)化

Retrofit 知識(shí)梳理(1) – 流程分析

Volley 知識(shí)梳理 – Volley解析

NDK 知識(shí)梳理(1) – 使用 CMake 進(jìn)行 NDK 開(kāi)發(fā)之初體驗(yàn)

Activity 知識(shí)梳理(3) – Activity狀態(tài)保存和恢復(fù)

多線程知識(shí)梳理(10) – 死鎖的概念

OkHttp 知識(shí)梳理(3) – OkHttp 之緩存基礎(chǔ)

RxJava2 實(shí)戰(zhàn)知識(shí)梳理(9) – 使用 timer/interval/delay 實(shí)現(xiàn)任務(wù)調(diào)度

View 繪制體系知識(shí)梳理(4) – 繪制過(guò)程之 Layout 詳解

插件化知識(shí)梳理(8) – 類的動(dòng)態(tài)加載源碼分析

Material Design 控件知識(shí)梳理(6) – Snackbar

Canvas&Paint 知識(shí)梳理(5) – Paint#setShader

Canvas&Paint 知識(shí)梳理(3) – 顏色合成 Paint#setColorFilter

Java&Android 基礎(chǔ)知識(shí)梳理(7) – Android 虛擬機(jī)

Kotlin 知識(shí)梳理(4) – 數(shù)據(jù)類谎倔、類委托 及 object 關(guān)鍵字

View 事件傳遞體系知識(shí)梳理(2) – 嵌套滑動(dòng)

Material Design 控件知識(shí)梳理(8) – TabLayout

RxJava2 實(shí)戰(zhàn)知識(shí)梳理(2) – 計(jì)算一段時(shí)間內(nèi)數(shù)據(jù)的平均值

Retrofit 知識(shí)梳理(2) – Retrofit 動(dòng)態(tài)代理內(nèi)部實(shí)現(xiàn)

Framework 源碼解析知識(shí)梳理(7) – Handler 的 async 標(biāo)志位

組件化知識(shí)梳理(1) – Arouter 的基本使用

圖片壓縮知識(shí)梳理(1) – PNG 原理

Material Design 控件知識(shí)梳理(4) – FloatingActionButton

Glide 知識(shí)梳理(6) – Glide 源碼解析之流程剖析

RxJava2 實(shí)戰(zhàn)知識(shí)梳理(12) – 實(shí)戰(zhàn)講解 publish & replay & share & refCount & autoConnect

圖片基礎(chǔ)知識(shí)梳理(2) – Bitmap 占用內(nèi)存分析

View 繪制體系知識(shí)梳理(6) – 繪制過(guò)程之 requestLayout 和 invalidate 詳解

面試算法知識(shí)梳理(14) – 數(shù)字算法

設(shè)計(jì)模式知識(shí)梳理(7) – 結(jié)構(gòu)型 – 代理模式

View 繪制體系知識(shí)梳理(5) – 繪制過(guò)程之 Draw 詳解

架構(gòu)設(shè)計(jì)知識(shí)梳理(1) – Dagger2

Broadcast 知識(shí)梳理(1) – BroadcastReceiver 基本概念

動(dòng)畫(huà)體系知識(shí)梳理(1) – 轉(zhuǎn)場(chǎng)動(dòng)畫(huà) ContentTransition 理論篇

Kotlin 知識(shí)梳理(5) – lambda 表達(dá)式和成員引用

Android 異步任務(wù)知識(shí)梳理(1) – AsyncTask 源碼解析

Dagger2 知識(shí)梳理(1) – Dagger2 依賴注入的兩種方式

性能優(yōu)化工具知識(shí)梳理(8) – Lint

Kotlin 知識(shí)梳理(10) – 高階函數(shù):Lambda 作為形參或返回值

Java&Android 基礎(chǔ)知識(shí)梳理(2) – 序列化

Weex 知識(shí)梳理(1) – 環(huán)境搭建

Kotlin 知識(shí)梳理(8) – 運(yùn)算符重載及其他約定

View 繪制體系知識(shí)梳理(1) – LayoutInflater#inflate 源碼解析

插件化知識(shí)梳理(10) – Service 插件化實(shí)現(xiàn)及原理

零散知識(shí)點(diǎn)總結(jié)(1) – Gradle 使用配置總結(jié)

Canvas&Paint 知識(shí)梳理(4) – 圖像合成 Paint#setXfermode

面試算法知識(shí)梳理(12) – 二叉樹(shù)算法第二部分

性能優(yōu)化工具知識(shí)梳理(2) – Systrace

圖片壓縮知識(shí)梳理(0) – 圖片壓縮學(xué)習(xí)計(jì)劃

Java&Android 基礎(chǔ)知識(shí)梳理(4) – 垃圾收集器與內(nèi)存分配策略

Java&Android 基礎(chǔ)知識(shí)梳理(0) – Java 基礎(chǔ)知識(shí)大綱

Android 異步任務(wù)知識(shí)梳理(2) – HandlerThread 源碼解析

性能優(yōu)化工具知識(shí)梳理(7) – LeakCanary

性能優(yōu)化工具知識(shí)梳理(1) – TraceView

面試算法知識(shí)梳理(13) – 二叉樹(shù)算法第三部分

多線程知識(shí)梳理(8) – volatile 關(guān)鍵字

RxJava 知識(shí)梳理(3) – RxJava2 基礎(chǔ)知識(shí)小結(jié)

Java&Android 基礎(chǔ)知識(shí)梳理(6) – 字節(jié)輸入輸出流

Android 數(shù)據(jù)存儲(chǔ)知識(shí)梳理(4) – 數(shù)據(jù)庫(kù)升級(jí)操作的處理策略

Fragment 知識(shí)梳理(3) – FragmentPagerAdapter 和 FragmentStatePagerAdapter 的數(shù)據(jù)更新問(wèn)題

Material Design 控件知識(shí)梳理(1) – Android Design Support Library 是什么

圖片壓縮知識(shí)梳理(5) – VectorDrawable 簡(jiǎn)介

圖片壓縮知識(shí)梳理(2) – 減小 PNG 大小

Android 數(shù)據(jù)存儲(chǔ)知識(shí)梳理(3) – SharedPreference 源碼解析

圖片壓縮知識(shí)梳理(6) – VectorDrawable 及 AnimatedVectorDrawable 使用詳解

設(shè)計(jì)模式知識(shí)梳理(3) – 結(jié)構(gòu)型 – 組合模式

Java&Android 基礎(chǔ)知識(shí)梳理(11) – 淺拷貝 Vs 深拷貝

Dagger2 知識(shí)梳理(4) – @Scope 注解的使用

RxJava 知識(shí)梳理(2) – RxJava2 操作符實(shí)戰(zhàn)

Glide 知識(shí)梳理(3) – 自定義transform

面試算法知識(shí)梳理(10) – 二叉查找樹(shù)

面試算法知識(shí)梳理(5) – 數(shù)組第二部分

Material Design 控件知識(shí)梳理(3) – BottomSheet && BottomSheetDialog && BottomSheetDialogFragment

性能優(yōu)化工具知識(shí)梳理(6) – Memory Monitor & Heap Viewer & Allocation Tracker

不“誤”正業(yè)地弄了個(gè)人博客,歡迎訪問(wèn)

Framework 源碼解析知識(shí)梳理(4) – 從源碼角度談?wù)?Handler 的應(yīng)用

Java&Android 基礎(chǔ)知識(shí)梳理(1) – 注解

RxJava2 實(shí)戰(zhàn)知識(shí)梳理(7) – 基于 combineLatest 實(shí)現(xiàn)的輸入表單驗(yàn)證

Material Design 控件知識(shí)梳理(7) – BottomNavigationBar

Kotlin 知識(shí)梳理(2) – 函數(shù)的定義與調(diào)用

OkHttp 知識(shí)梳理(1) – OkHttp 源碼解析之入門(mén)

RecyclerView 知識(shí)梳理(1) – 綜述

插件化知識(shí)梳理(3) – Small 框架之宿主分身

RxJava2 實(shí)戰(zhàn)知識(shí)梳理(10) – 屏幕旋轉(zhuǎn)導(dǎo)致 Activity 重建時(shí)恢復(fù)任務(wù)

RecyclerView 知識(shí)梳理(3) – LayoutManager

Glide 知識(shí)梳理(5) – 自定義GlideModule

多線程知識(shí)梳理(3) – synchronized 三部曲之鎖優(yōu)化

Architecture Components 知識(shí)梳理(2) – LiveData 示例

Glide 知識(shí)梳理(2) – 自定義Target

Framework 源碼解析知識(shí)梳理(2) – 應(yīng)用進(jìn)程與 WMS 的通信實(shí)現(xiàn)

View 繪制體系知識(shí)梳理(7) – getMeasuredWidth 和 getWidth 的區(qū)別

多線程知識(shí)梳理(1) – 并發(fā)編程的藝術(shù)筆記

設(shè)計(jì)模式知識(shí)梳理(4) – 結(jié)構(gòu)型 – 裝飾模式

RecyclerView 知識(shí)梳理(5) – ItemTouchHelper

組件化知識(shí)梳理(4) – IOC & AOP 思想在 Arouter 中的應(yīng)用

插件化知識(shí)梳理(1) – Small 框架之如何引入應(yīng)用插件

設(shè)計(jì)模式知識(shí)梳理(1) – 結(jié)構(gòu)型 – 適配器模式

奇技淫巧之-Android監(jiān)聽(tīng)鍵盤(pán)彈出與隱藏事件

RxImagePicker:從零實(shí)現(xiàn)靈活且可高度定制的Android圖片選擇架構(gòu)

Android6.0權(quán)限適配及兼容庫(kù)的實(shí)現(xiàn)

MVP 筆記

【Android】快速開(kāi)發(fā)偷懶必備(二) 支持DataBinding啦~爽炸橄杨,一行實(shí)現(xiàn)花式列表

逆向思考,優(yōu)化/重構(gòu)你的代碼邏輯

Android自定義ClockView實(shí)現(xiàn)時(shí)鐘效果

Android 實(shí)現(xiàn)無(wú)網(wǎng)絡(luò)頁(yè)面切換

完全自定義控件-自定義絢麗水波紋效果

開(kāi)發(fā)工具總結(jié)(8)之圖文并茂全面總結(jié)上百個(gè)AS好用的插件(下)

glide 一個(gè)強(qiáng)大的圖片加載框架

聽(tīng)說(shuō)你Binder機(jī)制學(xué)的不錯(cuò),來(lái)面試下這幾個(gè)問(wèn)題(二)

Android——MVP——封裝一個(gè)通用的Module

Android適配全面總結(jié)(三)—-ROM適配

Android 劉海屏適配總結(jié)

谷歌Flutter1.0正式版發(fā)布

Android應(yīng)用坐標(biāo)系統(tǒng)全面詳解

活在android之觀察者模式

Linux環(huán)境下Android開(kāi)發(fā)常用命令

Android 拍照獲取縮略圖以及完整圖片(適配androidN)

[譯]使用MVI打造響應(yīng)式APP(一):Model到底是什么

Android實(shí)現(xiàn)沉浸模式的體驗(yàn)

Android Handle解析

一個(gè)根據(jù)代碼自動(dòng)生成UML的插件照卦,助你看源碼事半功倍

Groovy學(xué)習(xí)筆記4:特殊注解

觀察者模式學(xué)習(xí)

OkHttp基礎(chǔ)學(xué)習(xí)(五)式矫,文件上傳

躺著過(guò)坑—斷電導(dǎo)致AVD和SDK Manager無(wú)法正常啟動(dòng)

Android 一起來(lái)看看 ThreadLocal

萬(wàn)能的dialog庫(kù)(包括類似popwindow效果)

Android 自定義View學(xué)習(xí)(十四)——View滑動(dòng)學(xué)習(xí)

手把手教你從零開(kāi)始做一個(gè)好看的 APP – Day four

Android——RecyclerView入門(mén)學(xué)習(xí)之DiffUtil(四)

一次使用Kotlin實(shí)現(xiàn)酷炫多選操作的嘗試

Android 帶你擼一個(gè)好玩的 DoodleView(涂鴉)

十分鐘了解Android觸摸事件原理(InputManagerService)

Android 自定義view,畫(huà)圖板練習(xí)

Android 打造一個(gè)絲滑的自動(dòng)輪播控件

Android Camera 系列(三)Camera API 詳解

設(shè)計(jì)模式(一) 工廠模式 五種寫(xiě)法總結(jié)

我的 2017

RxJava常用操作符

Android 自定義view相關(guān)

為你的Android Studio打造帥氣的LogCat配色

編輯距離 (Levenshtein Distance算法)

Android 自定義View學(xué)習(xí)(十三)——View觸控事件學(xué)習(xí)

Android DEPPLINK役耕、APPLink原理簡(jiǎn)析

不要打破鏈?zhǔn)秸{(diào)用采转!一個(gè)極低成本的RxJava全局Error處理方案

Flutter基礎(chǔ)篇(7)– Flutter更新錯(cuò)誤全面解決方案(圖文+視頻講解)

Android 讀取聯(lián)系人數(shù)據(jù)庫(kù)

簡(jiǎn)單圖片加載框架的打造-(了解如何設(shè)計(jì)一個(gè)圖片加載框架)

Android 解鎖 Gradle 依賴新姿勢(shì)

Android官方架構(gòu)組件DataBinding雙向綁定篇: 觀察者模式的殊途同歸

當(dāng)Android遇到單例模式

Http基礎(chǔ)知識(shí)學(xué)習(xí)(一)

面試必備:LinkedList源碼解析(JDK8)

[譯]Android開(kāi)發(fā)從Dagger2遷移至Kodein的感受

SQL定義

Material Design學(xué)習(xí):DrawerLayout+NavigationView

Android窗口管理分析(1):View如何繪制到屏幕上的主觀理解

Android動(dòng)手實(shí)現(xiàn)一個(gè)側(cè)滑刪除控件,支持Recyclerview

使用友盟分享和登陸以及使用時(shí)要注意的坑

活在Android之Builder模式

OkHttp基礎(chǔ)學(xué)習(xí)(一)瞬痘,Get請(qǐng)求

Linux工具命令之crontab

DiskLruCache簡(jiǎn)介

完全自定義控件-簡(jiǎn)單環(huán)形進(jìn)度條制作

手把手教你從零開(kāi)始做一個(gè)好看的 APP – Day five

Flutter基礎(chǔ)篇(1)– 跨平臺(tái)開(kāi)發(fā)框架和工具集錦

Android——RecyclerView入門(mén)學(xué)習(xí)之ItemDecoration(一)

Android硬件加速(二)-RenderThread與OpenGL GPU渲染

Flutter進(jìn)階篇(5)– 使用Flutter創(chuàng)建插件詳解并發(fā)布到Pub庫(kù)

Java多邊型無(wú)序點(diǎn)排序(地圖繪制多邊形)

Gradle學(xué)習(xí)筆記(一)基本配置

gson解析assets目錄下的json文件(給新手看的)

仿淘寶故慈、京東拖拽商品詳情(可嵌套ViewPager虚青、ListView周崭、WebView、FragmentTabhost)

Swift 與 Kotlin 的簡(jiǎn)單對(duì)比术辐,簡(jiǎn)直是太像了

RxJava——基礎(chǔ)學(xué)習(xí)(六)津辩,過(guò)濾操作符

Android官方架構(gòu)組件Paging-Ex:為分頁(yè)列表添加Header和Footer

Android匿名共享內(nèi)存(Ashmem)原理

Android 開(kāi)發(fā)中零散知識(shí)點(diǎn)記錄

正則表達(dá)式學(xué)習(xí)(上)

理解RxJava(四)Subject用法及原理分析

Android 一起來(lái)看看面試必問(wèn)的消息機(jī)制

[譯]Java將Powermock和Mockito搭配進(jìn)行單元測(cè)試

Android內(nèi)容服務(wù)ContentService原理淺析

程序猿Skr —– Flutter之歌

Android Bitmap變遷與原理解析(4.x-8.x)

Material Design學(xué)習(xí):CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout

告別Dagger2模板代碼:DaggerAndroid原理解析

教你打造Android揭面水波動(dòng)畫(huà)庫(kù)-AnimationHelper

Flutter 開(kāi)發(fā)遇到問(wèn)題

Android——CoordinatorLayout之Behavior入門(mén)學(xué)習(xí)(下)

Android狀態(tài)模式的幾種應(yīng)用場(chǎng)景

簡(jiǎn)單幾行代碼讓ViewPager實(shí)現(xiàn)垂直滑動(dòng)效果

Android 一起來(lái)看看 HttpURLConnection 和 HttpClient 的區(qū)別

Zxing二維碼掃描和那些坑

我的 2018

認(rèn)識(shí)Concurrent包中的 CAS

Android自定義View:MeasureSpec的真正意義與View大小控制

Android中g(shù)radle的implementation和api指令的區(qū)別

Android meta-data知識(shí)介紹及應(yīng)用

從幾行代碼學(xué)習(xí)Java類加載機(jī)制-從懵逼到放棄

Android面試:主線程中的Looper.loop()一直無(wú)限循環(huán)為什么不會(huì)造成ANR拆撼?

閑散整理容劳,帶你走進(jìn)Android短信源碼

Android在string.xml中加粗文字

Java 打印心形

Android 計(jì)時(shí)的兩種思路

Android中的內(nèi)存泄漏和內(nèi)存溢出.md

全面總結(jié)側(cè)滑菜單的5種實(shí)現(xiàn)方式

JNI源碼分析 (并實(shí)現(xiàn)JNI動(dòng)態(tài)注冊(cè))

Material Design學(xué)習(xí):ToolBar 開(kāi)發(fā)使用簡(jiǎn)介

CalendarListView 日歷列表

Android 擼起袖子,自己封裝 DialogFragment

TitleItemDecoration

最全的BAT大廠面試題整理

一行Java代碼實(shí)現(xiàn)RecyclerView的Adapter?一行都不需要闸度!

程序員漫畫(huà)系列-Linux內(nèi)核里面的那些小企鵝們

Android 動(dòng)畫(huà)基礎(chǔ)知識(shí)學(xué)習(xí)(上)

Activity生命周期函數(shù)理解

手把手教你從零開(kāi)始做一個(gè)好看的 APP – Day one

設(shè)計(jì)模式(二) 三種適配器模式 總結(jié)和使用場(chǎng)景

程序員在簡(jiǎn)書(shū)|一個(gè)小城市竭贩,小公司的小程序員

程序員的江湖,黑話一定要牢記

Android 神兵利器Dagger2使用詳解(三)MVP架構(gòu)下的使用

2017年你絕對(duì)想嘗試的25個(gè)新安卓庫(kù)(持續(xù)更新中…)

小知識(shí)-Android一個(gè)應(yīng)用多個(gè)圖標(biāo)的幾種實(shí)現(xiàn)方式

【游客必看】 博主所有文章目錄

Android 自定義View學(xué)習(xí)(二)——開(kāi)始了解Canvas和Paint

Java編程思想第21章并發(fā)讀書(shū)筆記(下)

常用Java并發(fā)數(shù)據(jù)結(jié)構(gòu)

Flutter進(jìn)階篇(4)– Flutter的Future異步詳解

教你如何最快寫(xiě)出酷炫的dialog對(duì)話框

開(kāi)發(fā)工具總結(jié)(5)之Markdown語(yǔ)法圖文全面詳解及其工具介紹

AndroidStudio基本debug調(diào)試技巧縱覽

動(dòng)態(tài)圖解&實(shí)例 ConstraintLayout Chain

Android 一起來(lái)看看 7.0 的新特性 FileProvider

Android 一個(gè)另類的顯示圓形圖片方式

Android8.0適配前臺(tái)定位服務(wù)service

Android 實(shí)習(xí) | 如何在春招中拿到滿意的 offer

Android淺析SurfaceView

Gradle學(xué)習(xí)筆記(三)管理依賴

OkHttp基礎(chǔ)學(xué)習(xí)(四)莺禁,無(wú)網(wǎng)絡(luò)讀取本地緩存留量,有錯(cuò)誤,待改正

Android 滑動(dòng)選擇身高體重控件——RulerView

10分鐘學(xué)會(huì)ikvStockChart制作K線圖(股票走勢(shì)圖)

Android —— 微信Sqlite數(shù)據(jù)庫(kù)框架WCDB學(xué)習(xí)

當(dāng)Android遇見(jiàn)工廠模式

Android 自定義View學(xué)習(xí)(一)——準(zhǔn)備

WebView深度學(xué)習(xí)(一)之WebView的基本使用以及Android和js的交互

一個(gè)工程帶你學(xué)會(huì)簡(jiǎn)單使用RxJava+Retrofit

Android 簡(jiǎn)易簽名板

【Android】你可能不知道的Support(一) 0步自動(dòng)定向刷新SortedList

【Android】ListView睁宰、RecyclerView肪获、ScrollView里嵌套ListView 相對(duì)優(yōu)雅的解決方案:NestFullListView

優(yōu)化Android Studio/Gradle構(gòu)建

針對(duì)Android中類的重載方法很多時(shí)的幾種優(yōu)化解決方案

幾步教你怎么寫(xiě)MVP

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市柒傻,隨后出現(xiàn)的幾起案子孝赫,更是在濱河造成了極大的恐慌,老刑警劉巖红符,帶你破解...
    沈念sama閱讀 205,874評(píng)論 6 479
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件青柄,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡预侯,警方通過(guò)查閱死者的電腦和手機(jī)致开,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,151評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)萎馅,“玉大人双戳,你說(shuō)我怎么就攤上這事∶臃迹” “怎么了飒货?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,270評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)峭竣。 經(jīng)常有香客問(wèn)我塘辅,道長(zhǎng),這世上最難降的妖魔是什么皆撩? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,137評(píng)論 1 278
  • 正文 為了忘掉前任扣墩,我火速辦了婚禮,結(jié)果婚禮上扛吞,老公的妹妹穿的比我還像新娘呻惕。我一直安慰自己,他們只是感情好滥比,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,116評(píng)論 5 370
  • 文/花漫 我一把揭開(kāi)白布亚脆。 她就那樣靜靜地躺著,像睡著了一般守呜。 火紅的嫁衣襯著肌膚如雪型酥。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 48,935評(píng)論 1 283
  • 那天查乒,我揣著相機(jī)與錄音弥喉,去河邊找鬼。 笑死玛迄,一個(gè)胖子當(dāng)著我的面吹牛由境,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蓖议,決...
    沈念sama閱讀 38,261評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼虏杰,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了勒虾?” 一聲冷哼從身側(cè)響起纺阔,我...
    開(kāi)封第一講書(shū)人閱讀 36,895評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎修然,沒(méi)想到半個(gè)月后笛钝,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,342評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡愕宋,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,854評(píng)論 2 323
  • 正文 我和宋清朗相戀三年玻靡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片中贝。...
    茶點(diǎn)故事閱讀 37,978評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡囤捻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出邻寿,到底是詐尸還是另有隱情蝎土,我是刑警寧澤,帶...
    沈念sama閱讀 33,609評(píng)論 4 322
  • 正文 年R本政府宣布老厌,位于F島的核電站瘟则,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏枝秤。R本人自食惡果不足惜醋拧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,181評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望淀弹。 院中可真熱鬧丹壕,春花似錦、人聲如沸薇溃。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,182評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)沐序。三九已至琉用,卻和暖如春堕绩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背邑时。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,402評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工奴紧, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人晶丘。 一個(gè)月前我還...
    沈念sama閱讀 45,376評(píng)論 2 352
  • 正文 我出身青樓黍氮,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親浅浮。 傳聞我的和親對(duì)象是個(gè)殘疾皇子沫浆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,677評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容

  • 李笑來(lái)的書(shū)我只看了他的《把時(shí)間當(dāng)作朋友》和《七年就是一輩子》,兩本書(shū)就讓我深深的喜歡上了這位外表很普通滚秩,說(shuō)話聲音也...
    W南茜閱讀 1,303評(píng)論 0 2
  • ── 感悟五天林紫正念與精神分析工作坊 跟正念的相遇专执,讓我深深體會(huì),這世間所有的相遇原來(lái)真正是久別重逢郁油。 每一次覺(jué)...
    瞿小栗閱讀 2,332評(píng)論 0 10
  • protein_Ly閱讀 1,056評(píng)論 0 0
  • 1他炊、吃飯要規(guī)律 吃飯一定要定時(shí),定量已艰。很多人在減肥的時(shí)候會(huì)饑一頓痊末,飽一頓。這么做不但減不了肥哩掺,還會(huì)對(duì)身體造成負(fù)擔(dān)凿叠。...
    唯美感情學(xué)閱讀 909評(píng)論 0 0