Android知识体系结构图
我在写这个脑图的时候全是靠自己想,结果就是脑图上的知识体系比较乱,虽然上面的知识不是特别多,但是对于我这样只工作了不到一年的小菜鸟,就够我学到吐血了(手动笑哭)。
Android部分
Android部分的话东西是最多的,本人目前为止能想到的(有意见欢迎补充)
- 四大组件
- UI部分,包括常见的布局,控件以及自定义view,自定义view部分就涉及的比较多了,包括Measure,Layout,Draw(这个了解的比较少)流程。
- View的事件分发,Touch事件的传递,滑动冲突的处理。
- 线程间通信,Handler 的机制,包括Handler,Message,MessageQueue,Looper之间的关系。
- 异步操作AsyncTask的使用
- IPC 的理解,包括Binder机制,AIDL的使用
- FrameWork层 WMS AMS
- 数据存储方式,包括SharedPerference,SQLite,ContentProvider,File
- 第三方库,包括网络请求OKHTTP ,retrofit2,Glide,RxJava等。
- 其他的一些知识包括插件化,组件化,JNI ,音视频, 各种优化,KT 和Flutter。
Java部分
- 泛型,反射,动态代理
- 多线程,包括线程间通信,线程池,锁等概念
- JVM 内存模型,内存结构,GC,类加载
- 四种引用
- 设计模式
- Java关键字
网络部分和数据结构与算法
这两个部分我写的内容比较少,是因为我对这方面的东西实在是比较欠缺,只能说出一些名字,这也是我之后要学习的重点方向
- 网络部分
1.网络模型分层
2.HTTP/HTTPS 协议
3.TCP/UDP
4.TCP 三次握手
5.Socket - 数据结构与算法
- 数据结构
1.栈,队列
2.链表,数组
3.树,图
4.集合 - 算法
1.排序算法
2.查找算法
3.递归,分治,贪心,回溯,动态规划
4.并查集,位运算
5.LRU缓存,布隆过滤器
结尾
我知道写的这些在于一些大佬看了再简单不过,不过凡事不都是由简入深的嘛,只有打好基础才能更近一步的学习,希望这篇文章可以帮助到你。