- 以前的工作中没有机会经历完整的大型开发项目,能力也自然得不到提升和突破
这一年我是如何学习的?
学习内容都整合成了一个文档,因为内容实在是太多了,接下来只给大家放一个我大概学习的一个内容和方向:
学习大纲:
-
Handler
-
Activity
-
Fragment
-
Service
-
Android 布局优化
-
BroadcastReceiver
-
AsyncTask
-
事件分发机制
-
View 绘制流程
-
Binder,多进程,AIDL
-
AMS,WMS,PMS
-
ANR
-
内存相关
-
屏幕适配
-
缓存机制
-
性能优化
-
MVC,MVP,MVVM
-
Gradle
-
RxJava
-
OKHTTP 和 Retrofit
-
Glide
一、Handler 相关知识
-
Handler,Looper,Message之间的关系
-
Messagequeue 的数据结构
-
如何在子线程中创建 Handler
-
Handler post 的方法及原理
-
Android 消息机制的原理及源码解析
-
Android Handler 消息机制
-
Android 消息机制
-
…
二、Activity 相关
-
启动模式以及使用场景
-
onNewIntent()和 onConfigurationChanged()
-
onSaveInstanceState()和 onRestor
eInstanceState() -
Activity 的启动原理
-
…
三、Fragment
-
Fragment 生命周期和 Activity 对比
-
Fragment 之间如何进行通信
-
Fragment 的 startActivityForResult
-
Fragment 重叠问题
-
…
四、Service 相关
-
进程保活
-
Service 的运行线程(生命周期方法全部在主线程)
-
Service 启动方式以及如何停止
-
ServiceConnection 里面的回调方法运行在哪个线程?
-
…
五、Android 布局优化之 ViewStub、 include、merge
-
什么情况下使用 ViewStub、include、merge?
-
他们的原理是什么?
-
…
六、BroadcastReceiver 相关
-
注册方式,优先级
-
广播类型,区别
-
广播的使用场景,原理
-
…
七、AsyncTask 相关
-
AsyncTask 是串行还是并行执行?
-
AsyncTask 随着安卓版本的变迁
-
…
八、Android 事件分发机制
-
onTouch 和 onTouchEvent 区别,调用顺序
-
dispatchTouchEvent , onTouchEvent , onInterceptTouchEvent 方法顺序以及使用场景
-
滑动冲突,如何解决
-
…
九、Android View 绘制流程
-
简述 View 绘制流程
-
onMeasure, onlayout, ondraw 方法中需要注意的点
-
如何进行自定义 View
-
view 重绘机制
-
…
十、Android Window、Activity、 DecorView 以及 ViewRoo
-
职能简介
-
DecorView 的创建
-
DecorView 的显示
-
…
十一、Android 的核心 Binder 多进 程 AIDL
-
常见的 IPC 机制以及使用场景
-
为什么安卓要用 binder 进行跨进程传输
-
多进程带来的问题
-
…
十二、Android 高级必备 : AMS,WMS,PMS
-
AMS,WMS,PMS 全解析
-
Android 解析 ActivityManagerService:AMS 启动流程 和 AMS 家族
-
WindowManagerService 启动过程解析
-
PMS 启动流程解析
-
…
十三、Android ANR
-
为什么会发生 ANR?
-
如何定位 ANR?
-
如何避免 ANR?
-
…
十四、Android 内存相关
-
什么情况下会内存泄漏?
-
如何防止内存泄漏?
-
…
十五、Android 屏幕适配
-
屏幕适配相关名词解析
-
现在流行的屏幕适配方式
-
…
十六、Android 缓存机制
-
LruCache 使用极其原理
-
Android 中的缓存策略
-
LruCache 的使用
-
…
十七、Android 性能优化
-
如何进行 内存 cpu 耗电 的定位以及优化
-
性能优化经常使用的方法
-
如何避免 UI 卡顿
-
…
十八、Android MVC、MVP、MVVM
-
MVC 眼花缭乱设计图
-
MVC 三层之间的关系
-
MVC sample
-
MVP 说明
-
MVP Sample
-
MVVM 与 DataBinding 的关系
-
LruCache 使用极其原理
-
Android 中的缓存策略
-
LruCache 的使用
-
…
十七、Android 性能优化
-
如何进行 内存 cpu 耗电 的定位以及优化
-
性能优化经常使用的方法
-
如何避免 UI 卡顿
-
…
十八、Android MVC、MVP、MVVM
-
MVC 眼花缭乱设计图
-
MVC 三层之间的关系
-
MVC sample
-
MVP 说明
-
MVP Sample
-
MVVM 与 DataBinding 的关系