SaveAndroidResources Android resources Framework: Android 系统特点 Android 代码编译和APK安装过程 Android Framework 概述 Android APK的运行过程 Looper Handler MessageQueue Binder Binder AIDL Base: 1. 生命周期 2. Activity 启动模式 3. 跨进程通信 方式 及 问题 4. Socket 5. View 滑动相关 6. View 的事件分发机制 7. View 的滑动冲突 8. View 的工作原理 9. 自定义 View 分类 和 须知 10. RemoteViews.md Analysis: LruCache 源码解析 AsyncTask 源码分析 CoordinatorLayout 源码分析 Binder 源码分析 Extensions AndFix HotFix RocooFix Android 热补丁动态修复框架小结 Tinker_imitator Tinker_imitator 原理篇 Android 热更新方案 Robust 为什么 Android 开发者应该使用 FlatBuffers 替代 JSON ? google/flatbuffers FlatBuffer Google FlatBuffers 使用教程 FlatBuffers 体验 FlatBuffs DynamicAPK 携程 Android App 插件化和动态加载实践 Android 插件化:从入门到放弃 ZeusPlugin Android 动态加载系列索引 Android 动态加载简单易懂的介绍方式 ClassLoader 工作机制 加载 SD 卡中的 SO 库 使用 SO 库时要注意的一些问题 简单的动态加载模式 代理 Activity 模式 动态创建 Activity 模式 WeMobileDev: Android N 混合编译与对热补丁影响深度解析 IPv6 socket 编程 基于 TLS1.3 的微信安全通信协议 mmtls 介绍 微信 Android 热补丁实践演进之路 一 微信 Android 热补丁实践演进之路 二 Bugly: Android 进程保活招式大全 Android 界面性能调优手册 微信 Android 资源混淆打包工具 Android Dex 文件格式详解 内存泄露从入门到精通三部曲 Other: AndroidInterview-Q-A Java resources Sort: 冒泡排序 快速排序 选择排序 插入排序 希尔排序 Network: TCP/IP 协议三次握手与四次握手流程解析 详解 Https 是如何确保安全的? SSL/TLS 协议运行机制的概述 Other: ArrayList 的实现原理 HashMap 的实现原理 Java 中 volatile 关键字的含义 Effective-JAVA-Summary Annotated source code Android: LruCache Otto agera