android源码阶段一:
2.androidmanifast.xml 在源码哪里解析的,怎么解析的?
3.layout.xml是通过谁解析的,怎么解析的,tag标签是怎么创建对象的?
4.res资源是怎么加载的?
5.app启动时apk资源的加载过程?
7.activity对象是在哪里new出来的(activity 启动过程)?
10.Class/field类? getDeclaredField
12.handler
17.zygote中的socket创建和通讯
18.app进程怎么创建的?
21.Classload ?
1.System UI
6.加载好的布局是怎么显示到屏幕上的?
8.Application/App/activity/context 的创建过程?
9.context是在哪里创建的?
11.DisplayMetrics
13.滚动不加载 image
14. apk的安装
15.混淆
16.watchdog
19.开机启动广播发送的地方?
20.系统settings项目在哪里,什么时候启动的?
22.算法的空间,时间复杂度定义
23.ViewRootImpl
24.BroadcastReceiver在哪里/什么时间 实例化对象(register时候吗?)
25.ThreadLocalMap 原理
26.start/binder service
27. java中的 & >> << 计算
28.LruCache
#29.什么是 CAS 呢?
30.学习编译android.mk文件?
31. SurefaceView
32.动画原理及插值器的原理,动画Animation和Animator的区别,有什么不一样,什么场景使用?
33.Choreograther
34.animator原理
35.animation原理,两者的差异
36.简述一个view的整个绘制流程?
37.notification提交一个通知之后是怎么显示到systemUi 的statusbar上的?
38.这些系统service都是运行在那个进程里面的?为什么要使用binder?
JVM多线程并发阶段二:
1.Jvm虚拟机相关
2.Thread:LockSupport / CountDownLatch
3.(java内存模型)锁synchronize,volatile原子操作,
4. 原子类型,CAS机制是什么?
5. reentrantlock+condition等(程序计数器)。FIFO队列
6.死锁
7.线程池
8.队列
8.HandlerThread
9.AsyncTask
10.IntentService
线程之间是怎么通讯的?
CAS是原子操作吗,怎么保证原子性的???
优化阶段三:
1.优化:内存优化,布局优化,启动优化,cpu占用率版本问题profile不能用、卡顿优化,耗电量优化, apk体积优化,ANR解决,代码优化技巧
2.屏幕适配
3.view源码
4.Okhttp,Glide
学习要分模块学习:
擅长:多线程,优化,自定义view,熟悉NDK开发,源码,做过换肤,热修复。
数据结构,设计模式,音视频,算法,小知识点多线程数据同步,编译mk文件。
(任务:用结构图把每个模块的子知识点画出来)
2019收获:
1.framework源码
2.多线程并发
3.NDK C/C++
4.OpenCV银行卡数字识别
5.换肤
6.热修复
7.自定义View补充
https://xiang-yu.blog.csdn.net/
2020计划:
1.framework源码继续学习
2.优化相关
arning: Activity not started, its current task has been brought to the front
回答:是什么,为什么这样做,类似的有那些
疑问,寻找源码?
1.SystemUI : StatusBar,NavigationBar,壁纸
2.Window窗口:Activity窗口,SystemUI 窗口等是如何创建并显示到屏幕上的?
3.View控件树的绘制/遍历流程?
网友评论