在这个版块中,主要放一些自己觉得不错的文章,方便后面回顾,会不定期更新。
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 移动应用质量大数据报告