开始 概述 Algorighm: 为什么说二分查找的时间复杂度是O(logn) Android: Android系统工作机制分析 从源码角度剖析Handler机制 深入分析AsyncTask Handler为什么会泄露 SharedPreference和ContentProvider android启动流程分析 为什么RxJava的observeOn不能随便用 Activity: Activity泄露发现与诊断 Activity的生命周期和启动模式 IPC: Android中的IPC机制 使用进程完成后台任务 如何判断自己的进程是被Android_low_memory_killer杀死的 UI: RecyclerView中出现item重复的问题分析 RecyclerView和DiffUtils使用问题 RecyclerView缓存 仿京东、淘宝首页,通过两层嵌套的RecyclerView实现tab的吸顶效果 解决CoordinatorLayout的动画抖动以及回弹问题 其他: APK打包及安装过程 Android7.0上的混合编译 Android中的事件传递 BroadcastReceiver和LocalBroadcastReceiver的区别 IntentFilter匹配规则 怎么做牛逼的动画 插件化-VirtualAPK 插件化 热修复 组件化 详解APT 通过事务支持加快sqlite数据库批量操作的效率 图片相关: Best_Practices_for_Using_Alpha Bitmap相关文章 DiskLruCache LruCache 从assets目录和drawable加载的Bitmap的区别 图像显示原理 开源库: ARouter ActivityRouter ActivityRouter EventBus Fresco LeakCanary OKHTTP Retrofit RxJava RxJava相关文章 tinker Android/面试题收集: 开源库源码分析系列文章 Android中面试题总结 Android面试题系列 InterView_Backup InterView_Enhance Interview_1 Interview_2 DesignPattern: 尽量不要用实现、继承,请用组合、聚合 设计模式中6大设计原则 JVM: 1_Java的内存区域 2_JVM的GC和内存分配 3_JVM类加载机制 4_Java内存模型与线程 5_Java线程安全与锁优化 6_JVM程序编译与代码优化 7_JVM类加载器 8_JVM类文件结构 9_JVM字节码执行引擎 深入理解JVM虚拟机读书笔记 Java: ConcurrentHashMap是如何保证线程安全的 Java中一些比较难理解的知识点 Java中的泛型 Java中的注解 Java基础知识总结 Java系列集合源码分析 从源码角度分析ArrayList和Vector的区别 从源码角度解析ArrayList和LinkedList的区别 关于HashMap你需要知道的一些细节 我画了近百张图来理解红黑树 深入解析Sting#intern Kotlin: Kotlin中的泛型 MultiThread: Java中多线程理解系列 Java中多线程理解系列 Java中多线程理解系列 一次搞懂sleep、wait、yield、join和interrupted线程相关方法 从AtomicInteger来看CAS机制 使用单一线程维持对象状态的一致性 多线程间通信 深入解析volatile关键字 线程池 线程的生命周期详解 Network: HTTP与HTTPS有什么区别 Https TCP PerformanceOptimization: ANR分析 App的性能优化系列文章 Feed流上的优化实践 一种Activity预加载的方法 一种Fragment懒加载的优化策略 内存优化 启动优化 图片优化 在provider初始化的时候如何处理耗时操作 如何优化Activity启动速度 稳定性优化 绘制优化 耗电优化