在这个版块中,主要放一些自己觉得不错的文章,方便后面回顾,会不定期更新。
Android Studio
- 倍数提高工作效率的Android Studio奇技
 - 如何使用Android Studio把自己的Android library分发到jCenter和Maven Central
 - 如何选择 compileSdkVersion, minSdkVersion 和 targetSdkVersion
 - Android Studio插件整理
 - 基于Android Studio的内存泄漏检测与解决全攻略
 - Android Studio相见恨晚的操作锦集
 - 50个Android Studio秘诀、技巧和资源
 - Android Studio你不知道的调试技巧
 - 必会 | 手把手带你体验Android Studio 3.0的新功能
 - 《阿里巴巴Java开发规约》插件使用详细指南
 - 带你玩转Android Studio 3.0的性能分析工具
 - Gradle Implementation vs API configuration
 - Android小技巧 提升开发效率
 
日常开发
- Android 开发绕不过的坑:你的 Bitmap 究竟占多大内存?
 - Android 中Parcelable接口用法
 - 那些你应该知道却不一定知道的——View坐标分析汇总
 - 那些值得你去细细研究的Drawable适配
 - Android屏幕适配全攻略(最权威的官方适配指导)
 - 安卓开发技术:监听软键盘的显示与隐藏
 - Activity 横竖屏切换
 - Android 横竖屏切换小结
 - LeakCanary 中文使用说明
 - Android 基础 VideoView
 - Android 单元测试之Mockito浅析
 - 关于Adapter的The content of the adapter has changed问题分析
 - Android状态栏微技巧,带你真正理解沉浸式模式
 - 掌握 Android 中的 tools 命名空间
 - 两分钟理解Android中SP与DP的区别
 - Android 6.0 运行时权限管理最佳实践
 - Android ListView与RecyclerView对比浅析–缓存机制
 - Android 开发之 App 启动时间统计
 - 单播,组播(多播),广播以及任播
 - Android 爬坑之旅:软键盘挡住输入框问题的终极解决方案
 - 写给Android开发者的混淆使用手册
 - Android 内存泄漏分析心得
 - RecyclerView 必知必会
 - 仅使用一张资源图片为 View 设置具有按下效果的背景 - OneDrawable
 - Android自定义动画酷炫的提交按钮
 - Android 多状态加载布局的开发 Tips
 - 一个简单实用的Android调试应用技巧
 - 控制RecyclerView Item的宽度
 - 简单高效的实现Android App全局字体替换
 - Android-使用RecyclerView的ItemDecoration 实现炫酷的 吸顶效果
 - 用一张图片实现按钮按下和普通效果的样式
 - Android高效安全的本地广播LocalBroadcast完全解析
 - 动手打造史上最简单的 Recycleview 侧滑菜单
 - 让你明明白白的使用RecyclerView——SnapHelper详解
 - 自定义View:播放、暂停按钮优雅的过渡
 - Toolbar的Title与NavigationIcon距离异常
 - Android Toolbar,你想知道的都在这里了
 - Transition学习笔记
 - Android基础:Fragment,看这篇就够了
 - Android Gradle 使用大全
 - 30多个Android开发者超赞的工具
 - 适配三星Galaxy S8 及 S8+
 - Android 冷兵器 之 tools
 - 插件化、热补丁中绕不开的Proguard的坑
 - 探索 Design Support Library V28 新增内容
 - 这一次彻底弄明白Gradle相关配置
 - Android Design Support Library v28 新控件尝鲜
阅读 1236 - 一种巧妙的drawable.xml替代方案
 - Android 9 适配怎么做? “QQ音乐”优化实录
 
Java
- Java里如何实现线程间通信?
 - Java中的自动装箱与拆箱
 - 一文让你明白Java字节码
 - Java并发编程:volatile关键字解析
 - Java NIO 简明教程
 - 为什么说Java中只有值传递
 - Java 到底是值传递还是引用传递?
 - Java 泛型,你了解类型擦除吗?
 
技术学习
- 仿Nice首页图片列表9图样式,并实现拖拽效果
 - 理解 Android 新的依赖方式
 - Android 中注解的使用
 - Android Vector曲折的兼容之路
 - 关于 Android 进程保活,你所需要知道的一切
 - Android 应用性能剖析全攻略
 - Android 客户端性能优化
 - 开发第三方库最佳实践
 - Android 自动清理无用资源工具
 - Android 内存泄漏的八种可能
 - 与 .so 有关的一个长年大坑
 - WebSocket 是什么原理?为什么可以实现持久连接?
 - Android 消息处理机制(Handler、Looper、MessageQueue与Message)
 - Android 应用进程启动流程
 - Android 内存优化之OOM
 - PathMeasure之迷径追踪
 - Android App国际化
 - Android热修复技术选型——三大流派解析
 - Android 深入理解Loader机制 让APP轻装上阵
 - android中跨进程通讯的4种方式
 - Android捕获崩溃异常
 - Android灵魂画家的18种混合模式
 - Android性能优化(八)之网络优化
 - Android界面性能调优手册
 - TabLayout高端用法(一)
 - 重新理解响应式编程
 - Android夜间模式的实现方案
 - 拒绝拖拽 使用ConstraintLayout优化你的布局吧
 - Android 8.0 功能和 API
 - VasDolly实现原理
 - 让预览 RecyclerView 效果更方便的一个小技巧
 - 轻松打造一个自己的注解框架
 - Android Flutter 内存机制初探
 - 美团外卖Android Crash治理之路
 - Android 进程保活招式大全
 - Android消息总线的演进之路:用LiveDataBus替代RxBus、EventBus
 - Android 9 Pie 现已面向全球正式发布!
 - 基本功 | Litho的使用及原理剖析
 - 知无涯,行者之路莫言终(我的编程之路)
 - Android M新特性Doze and App Standby模式详解
 
Kotlin
三方库
- 给 Android 开发者的 RxJava 详解
 - RxJava2 学习资料推荐
 - ReactiveX/RxJava文档中文版
 - RxJava系列1(简介)
 - 探索专为 Android 而设计的 RxJava 2
 - 这可能是最好的RxJava 2.x 教程(完结版)
 - Lottie – 轻松实现动态加载直播礼物动画
 - 带你学开源项目:LeakCanary-如何检测 Activity 是否泄漏
 - Picasso,Glide,Fresco对比分析
 - 贝塞尔Loading——化学风暴
 - 阿里Weex框架Android平台初体验
 - Atlas:手淘Native容器化框架和思考
 - 这个项目碉堡了
 
框架规范
- Android MVP 详解(上)
 - Android MVP 详解(下)
 - Android App的设计架构:MVC,MVP,MVVM与架构经验谈
 - 一步一步实现Android的MVP框架
 - Android 编码规范
 - Google Java编程风格指南
 - Java代码优化(长期更新)
 - 大幅提高Android开发效率之Android项目模板化(上)
 - 人人车Android客户端架构演进实录
 - Android 开发规范(完结版)
 - Java执行顺序
 
音视频专题
阅读
- 专业程序员必习:最牛B的编码套路
 - 编程的智慧
 - 分享一些自己的学习历程和学习建议
 - 张小龙最新内部演讲:警惕KPI和流程,支持内部轮岗
 - 程序员们也该知道的事——“期权和股票”
 - 2016 移动应用质量大数据报告