前言
作为一个工作了好几年的Android应用层开发者,准备在工作之余分享一些Android系统知识,为什么决定要做这个呢?
理由如下:
帮助更多人转型Android架构师
不知何时起,单纯的Android应用层开发越来越少了,主流技术演变也越来越快,从之前的rxjava到如今的协程,从之前MVC到如今的MVVM,还有Flutter、Compose等技术,可以说是日新月异。 当我们在使用这些技术时,通常会犯一个毛病,那就是使用简单,深入困难。随便新技术,可能几天就上手了,但是没有深入理解,时间久了,就容易欠下许多技术债。
这里我提到了转到Android 架构师,也并非是一定的好方向,只是觉得可以多一条路而已,毕竟有很多相通之处。在Android 开发中,涉及的知识更多,从充当基石的Linux,到各种C++库的native层,再到我们熟悉的 Framework层,还包括虚拟机、驱动等,这里关联的知识非常多,更适合个人能力提升和沉淀。
在Android应用层开发进阶
这个说起来并非易事,可能在很多人的认知里,Android开发就是主要用来实现UI和交互,但是现在小程序和混合开发大行其道,真正留给Android开发的工作量可能会越来越少。
Android架构师进阶要点
- 深入理解Android架构:包括应用层、应用框架层、系统运行层和Linux内核
- 掌握四大组件:Activity、Service、BroadcastReceiver、ContentProvider以及它们之间的交互方式。
- 精通java和kotlin编程:如并发编程、内存管理、异常处理等。
- 掌握Android性能优化:包括内存优化、CPU优化、网络优化等。
- 熟悉设计模式与架构模式:掌握常用的设计模式,如MVC、MVP、MVVM等,并能够根据项目需求选择合适的设计模式。
如何学习Android framework和性能优化
学习Android framework和性能优化对于任何的Android开发者来说都是非常重要的事情,在这里为大家整理一份Android framework的学习清单和《360°全方面性能调优》,以供大家更加系统的学习和工作,有需要的朋友可以扫描下方二维码,免费获取更多相关资料!
Android Framework内核解密学习路线图
第一章系统启动流程分析
- Android启动概括
- init.rc解析
- Zygote
- 面试题
第二章跨进程通信IPC解析
- Sercice 还可以这么理解
- Binder基础
- Binder应用
- AIDL应用(上)
- AIDL应用(下)
- Messenger原理及应用
- 服务端回调
- 获取服务(IBinder)
- Binder面试题全解析
第三章Handler源码解析
- 源码分析
- 难点问题
- Handler常问面试题
第四章AMS源码解析
- 引言
- Android架构
- 通信方式
- 系统启动系列
- AMS
- AMS 面试题解析
第五章WMS源码解析
- WMS与activity启动流程
- WMS绘制原理
- WMS角色与实例化过程
- WMS工作原理
第六章Surface源码解析
- 创建流程及软硬件绘制
- 双缓冲及SurfaceView解析
- Android图形系统综述
第七章基于Android12.0的SurfaceFlinger源码解析
- 应用建立和SurfaceFlinger的沟通桥梁
- SurfaceFlinger的启动和消息队列处理机制
- SurfaceFlinger 之 VSync(上)
- SurfaceFlinger之VSync(中)
- SurfaceFlinger之VSync(下)
第八章PKMS源码解析
- PKMS调用方式
- PKMS启动过程分析
- APK的扫描
- APK的安装
- PKMS之权限扫描
- PKMS之权限扫描
- 静默安装
- requestPermissions源码流程解析
- PKMS面试题
第九章InputManagerService源码解析
- Android Input输入事件处理流程(1)
- Android Input输入事件处理流程(2)
- Android Input输入事件处理流程(3)
第十章DisplayManagerService源码解析
- DisplayManagerService启动
- DisplayAdapter和DisplayDevice的创建
- DMS部分亮灭屏流程
- 亮度调节
- Proximity Sensor灭屏原理
- Logical Display和Physical Display配置的更新
性能优化
第一章、设计思想与代码质量优化
一、六大原则
二、设计模式
三、数据结构
四、算法
第二章、程序性能优化
一、启动速度与执行效率优化
二、布局检测与优化
三、内存优化
四、耗电优化
五、网络传输与数据存储优化
六、APK大小优化
七、屏幕适配
八、OOM问题原理解析
九、ANR问题解析
十、Crash监控方案
第三章、开发效率优化
一、分布式
二、自动化构建系统Gradle
第四章、APP性能优化实践
一、启动速度
二、流畅度
三、抖音在APK包大小资源优化的实践
四、优酷响应式布局技术全解析
五、网络优化
六、手机淘宝双十一性能优化项目揭秘
七、高德APP全链路源码依赖分析
八、彻底干掉OOM的实战经验分享
九、微信 Android终端内存优化实践