2021 最新 Android 常见知识体系,HR:,Android 进程管理
1.核心知识点
四大组件
Activity
Service
BroadcastReceiver
ContentProvider
布局和控件
RelativeLayout
FrameLayout
LinearLayout
ConstraintLayout
Button
TextView
RecyclerView
......
自定义 View/ViewGroup
onMeasure
onLayout
onDraw
onTouchEvent
dispatchTouchEvent
自定义属性
动画和手势
View 动画
属性动画
layoutAnimation 视图动画
手势检测(GestureDetector)
缩放手势检测(ScaleGestureDecetor)
网络
请求网络
解析数据
图片加载
本地图片
网络图片
压缩图片
多图列表
DiskLruCache
Handler
Looper
Message
MessageQueue
内存泄漏
ThreadLocal
Android 各版本新特性
Android5.0
Android6.0
Android7.0
Android8.0(O)
Android9.0(P)
Android10.0(Q)
Android11.0(R)
其他
adb 常用命令
文件和数据库
异步线程池
Resources
2.开源库使用
Retrofit/OKhttp
RxJava
Glide
注解框架
Jetpack
3.性能优化
快-流畅的体验
布局优化
绘制优化
内存优化
启动优化
其他
稳-稳定
避免内存泄露
避免崩溃
省-省电/流量
使用 JobScheduler 调度任务
使用懒惰法则
小-安装包小
apk 构成
包体优化
七、Android 进阶
===========
1.核心知识点
多进程
Binder
AIDL
Messenger
Activity 难点
onSaveInstanceState()和 onRestoreInstanceState()
intent-filter 匹配规则
生命周期
启动模式
Activity 启动过程
App 启动过程
Service 难点
startService 流程
bindService 流程
BroadcastReceiver 难点
注册/发送/接收工作原理
ContentProvider 难点
ContentProvider 启动过程
其他
View 绘制
事件分发
消息队列
AsyncTask 原理
RemoteViews
Window 和 ViewRootImpl
2.开源库原理
OkHttp
Retrofit
RxJava
Glide
LeakCanary
GreenDao
ARouter
3.Gradle
编译
混淆
签名
Groovy
Gradle 构建流程
GradlePlugin
Gradle 构建优化
App 构建过程
差异化打包
4.初级架构
设计模式
MVC,MVP,MVVM
5.JNI
JNI 基础
NDK 基础
6.动态化
前置知识
Android 打包流程
Java 字节码
GradlePlugin
TransformAPI
ASM
热修复:nuwa&Tinker
经典-64k 问题
dex 分包
MultiDex 优化
findClass 原理
QQ 空间热补丁方案
Nuwa 应用层实现
NuwaGradle
插件化:VirtualAPK
加载类
资源访问
生命周期管理
7.编译插桩
AOP
ASM
8.Framework
系统服务
Zygote 启动
Android 系统启动
ServiceManager 启动及工作原理
应用进程
启动流程
启用 Binder 机制
Application 初始化流程
Context
UI 体系
显示原理
UI 线程启动
屏幕刷新机制
surface
vsync
进程通信
Binder
IPC 通信流程
Binder 对象跨进程传递
OneWay 机制
线程通信
消息队列
消息传递机制
Handler 消息延迟实现
IdleHandler 原理
消息屏障
ThreadLocal 原理
其他
跨进程传递大图片
四大组件启动原理
八、领域专家
======
1.性能优化方向
稳定性优化
启动速度优化
绘制优化
内存优化
包体积优化
网络优化
IO 优化
存储优化
耗电优化
2.基础架构方向
Android 工程实践
Gradle 自动化构建
编译插桩技术
Android 架构
Android 热修复
Android 插件化
Android 核心源码
3.NDK、音视频
C
C++
JNI 基础
编译原理与语法基础
Linux 基础
热修复
Gif 图实现
音视频基础
ffmpeg
WebRTC
opengl
vulkan
opencv
九、其他 Android 相关
=============
1.Kotlin(??)
基础部分
内置类型
类型初步
表达算式
函数进阶
类型进阶
高级部分
泛型
反射
注解
协程
关于程序员系统学习
我们都很渺小,在宇宙中甚至比不上一颗尘埃,可是人为何称之为人,就是因为人懂得思考,知道学习的重要性。并且随时愿意改变自己,重新出发。我们一生都在忙忙碌碌,为自己而活的时间太少太少,努力奔跑不仅仅是为了活着,更多的是实现我们自己的理想与报复。存在即为意义,我希望大家能跟我一样坚持,你不知道下一个黄金浪潮在哪里,但是只要你在里面,总会赶上的啊!下一个 Android 辉煌的时刻可能就在明天呢?
目前我们要做的就是选好自己细分领域深入研究,对基础原理性内容深入理解,尽快向高级水平靠近并达到。当然也要了解新技术,拥有开放的心态去学习一些新技术,不要一开始出来一个新技术就转入学习,这样会导致啥都会一点啥都不会,当然新技术是有一个发展过程的,不会立马流行和大量应用等它稍微成熟点。
这样你会少踩很多坑,也不要排斥它,完全不去理会和了解学习,正确的方式是简单了解这个技术产生是为了解决什么问题,有什么优缺点已经目前发展成熟度和应用范围,我们还是要多抓住技术的本质和基础,这样出现了新技术学起来也会很轻松,当然机会合适了再去学习它。 所以,找准自己的定位及细分领域。
多余的话就不讲了,接下来将分享面试的一个复习路线,如果你也在准备面试但是不知道怎么高效复习,可以参考一下我的复习路线,有任何问题也欢迎一起互相交流,加油吧!
首先是超级详细得不能再详细的*
Android 开发学习思维导图*,因为图片实在是太大了,所以我就只把二级目录的内容放出来,更加详细的你们可以私信我获取。
接下来就需要梳理知识,提升储备了!(Android 移动架构师七大专题学习资源)
**架构师筑基必备技能:**深入 Java 泛型+注解深入浅出+并发编程+数据传输与序列化+Java 虚拟机原理+反射与类加载+动态代理+高效 IO
**Android 高级 UI 与 FrameWork 源码:**高级 UI 晋升+Framework 内核解析+Android 组件内核+数据持久化
**360°全方面性能调优:**设计思想与代码质量优化+程序性能优化+开发效率优化
**解读开源框架设计思想:**热修复设计+插件化框架解读+组件化框架设计+图片加载框架+网络访问框架设计+RXJava 响应式编程框架设计+IOC 架构设计+Android 架构组件 Jetpack
**NDK 模块开发:**NDK 基础知识体系+底层图片处理+音视频开发
**微信小程序:**小程序介绍+UI 开发+API 操作+微信对接
评论