Android知识体系总结(全方面覆盖Android知识结构,面试&进阶 Version-3.0.0 时间:2020.01)
这是一篇实时更新的Android知识体系总结的博客,如果你是一枚Android程序员,请跟随笔者的步伐,好好学习,实现所想所得。
再一次来到金三银四,感谢大家对于这篇文章的认可,顺便道句:各位读者,新年好,希望新的一年你们能成长到自己像成长的样子,实现自己2020的目标8888888。
这一次更新笔者会更新什么呢?有所期待吗?这一次更新笔者想把知识体系重新整理一下,之前2个版本有些不够完善,有些不够深度,笔者将会在每个知识体系后面加上一些面试题,读者可以通过这些面试题进行考察,测试自己知识的掌握情况,当然初学者,中级,高级等等都能通过此系列文章进阶,这是笔者的初衷,也是笔者唯一的写博客动力源泉,希望带着梦想的你们认真努力,日复一日,年复一年提升技术。
这份知识体系大纲包括:
Android部分:
四大组件篇
Activity
BroadcastReceiver
ContentProvider
Service第五大组件篇
Fragment对话框 & 通知篇
Dialog
PopWindow
DialogFragment
NotificationAndroid UI控件篇
基础布局
基础控件
高级控件
自定义控件
原生控件源码分析Android系统架构篇
系统架构
系统版本特点 & 区别Android通信篇
线程间通信框架Handler
进程间通信Android网络编程篇
网络请求
Token & Session & Cookie三者联系与区别
数据解析[Json,XML]Android持久化存储篇
文件存储
key-value存储[SharePreference,MMKV(腾讯)]
数据库存储[SQL语句,SQLite]
序列化Android优化篇
内存优化
布局优化
UI卡顿优化
UI适配优化
apk安全优化Android 原生音视频图片开发
图片开发
视频开发
音频开发Android特殊知识点【不知道如何分类的知识点】
Android Studio入门与开发技巧
gradle
蓝牙
定位
SDK开发与接入
Drawable
......Android必须掌握的轮子
异步通信[EventBus,RxJava]
图片加载[Glide,Picasso,Fresco]
内存优化[LeackCanary,BlockCanary]
依赖注入[ButterKnife,Dagger]
数据库轮子[LitePal,GreenDao...]项目架构篇
MVC & MVP & MVVM
组件化
JetPackAndroid高级进阶篇
UI绘制过程
一个app启动过程
......Android职业方向篇【这是笔者新加入的,对于Andorid开发者而言非常重要,要有自己的职业规划】
资深UI工程师[自定义控件,源码方向]
Android底层开发工程师[C++音视频/图像算法/智能家居]
Android资深架构师[造得一手牛逼的好轮子,熟悉Framework,Java高级知识等等]Java部分:
这里笔者暂时不总结,具体以面试题为主,传送门Kotlin部分:
这里笔者暂时不总结,具体以面试题为主,传送门数据结构与算法部分
这里笔者暂时不总结,具体以面试题为主,传送门计算机网络部分
- 五层网络模型
- http[请求头,响应体,三次握手,四次挥手等]
- https
- DNS
- Socket & WebSocket
- 浏览器访问一个url的过程
- Android技术应用【Andorid中能运用的网络知识点】
注意:为什么Java,Kotlin,数据结构与算法部分部分笔者不总结?因为暂时没有精力,等笔者有时间了也会一一罗列出来的.
以下是Android面试系列文章知识体系图以及文章的具体链接:
Android面试系列文章知识体系图:
2018年3月份(Version-1.0.0):
- 链接:https://pan.baidu.com/s/1qoyOI14bAjn2lMRr-toAag 密码:4qv9、
- CSDN下载链接:http://download.csdn.net/download/clandellen/10277364
既然选不了0积分下载,最低需要2积分下载,CSDN官方规定最少2积分,对不起读者了
2018年9月份(Version-1.0.1):
- 链接:https://pan.baidu.com/s/1g7WE-FoXXqr8-dPXLjjTLA 提取码:mg78
- CSDN下载链接:https://download.csdn.net/download/clandellen/10698579 (5积分,这次积分高了些,就算对笔者辛苦整理的奖励吧,但是你没有积分的话,去百度云下载吧,就在上面)
2020年1月份(Version-3.0.0):
待笔者弄完上传
1.Android部分
1.1 Android四大组件篇
Android知识体系总结之Android部分之Activity篇
CSDN
开源中国
Android知识体系总结之Android部分之Broadcast篇
CSDN
开源中国
Android知识体系总结之Android部分之ContentProvider篇
CSDN
开源中国
Android知识体系总结之Android部分之Service篇(已更新,all&Face)
http://blog.csdn.net/clandellen/article/details/79276411
1.2 第五大组件Fragment
Android知识体系总结之Android部分之Fragment篇(已更新,all&Face)
http://blog.csdn.net/clandellen/article/details/79269680
6.Android知识体系总结之Android部分之WebView篇 (已更新,all&Face)
http://blog.csdn.net/ClAndEllen/article/details/79287020
7.Android知识体系总结之Android部分之Binder机制篇 (已更新,A3&A4&Face)
http://blog.csdn.net/ClAndEllen/article/details/79343389
8.Android知识体系总结之Android部分之Handler机制篇(已更新,all&Face)
http://blog.csdn.net/ClAndEllen/article/details/79343538
9.Android知识体系总结之Android部分之AsyncTask篇(已更新,all&Face)
http://blog.csdn.net/ClAndEllen/article/details/79346383
10.Android知识体系总结之Android部分之HandlerThread篇(已更新,all&Face)
http://blog.csdn.net/ClAndEllen/article/details/79346492
11.Android知识体系总结之Android部分之IntentService篇(已更新,all&Face)
http://blog.csdn.net/ClAndEllen/article/details/79346624
12.Android知识体系总结之Android部分之View绘制机制篇(龟速更新中...可以看看,all&Face)
http://blog.csdn.net/ClAndEllen/article/details/79365250
13.Android知识体系总结之Android部分之事件分发机制篇(已更新,all&Face)
http://blog.csdn.net/ClAndEllen/article/details/79365369
14.Android知识体系总结之Android部分之ListView篇(已更新,all&Face&Update)
http://blog.csdn.net/ClAndEllen/article/details/79365499
15 Android知识体系总结之Android部分之RecyclerView篇(已更新,all&Face&Update)
https://blog.csdn.net/ClAndEllen/article/details/82859578
16 Android面知识体系总结之Android部分之ViewPager篇(已更新,all&Face&Update)
https://blog.csdn.net/ClAndEllen/article/details/82862804
17 Android知识体系总结之Android部分之动画机制篇(待更新...,all&Face)
http://blog.csdn.net/ClAndEllen/article/details/79411999
18 Android知识体系总结之Android部分之自定义View篇(待更新...,A2&A3&A4&Face)
http://blog.csdn.net/ClAndEllen/article/details/79412399
19 Android知识体系总结之Android部分之Android中的布局篇(已更新,all&Face)
https://blog.csdn.net/ClAndEllen/article/details/82979812
20 Android知识体系总结之Android部分之网络数据解析篇(已更新,all&Face)
https://blog.csdn.net/ClAndEllen/article/details/82980593
21 Android知识体系总结之Android部分之Android中的序列化篇(已更新,all&Face)
https://blog.csdn.net/ClAndEllen/article/details/82980677
22 Android知识体系总结之Android部分之Android系统版本特性篇(已更新,all&Face)
https://blog.csdn.net/ClAndEllen/article/details/82982518
23 Android知识体系总结之Android部分之JNI和NDK篇(已更新,A2&A3&A4&Face)
https://blog.csdn.net/ClAndEllen/article/details/82966507
24 Android知识体系总结之Android部分之Android本地存储篇(已更新,all&Face)
https://blog.csdn.net/ClAndEllen/article/details/82997955
25 Android知识体系总结之Android部分之Intent篇(已更新,all&Face)
https://blog.csdn.net/ClAndEllen/article/details/83000920
26 Android知识体系总结之Android部分之对话框篇(已更新,all&No)
https://blog.csdn.net/ClAndEllen/article/details/82966342
27 Android知识体系总结之Android部分之通知篇(已更新,all&No)
https://blog.csdn.net/ClAndEllen/article/details/83001281
28 Android知识体系总结之Android部分之Application类篇(已更新,A2&A3&A4&Face)
https://www.jianshu.com/p/f665366b2a47
29 Android知识体系总结之Android部分之Context的理解篇(已更新,A2&A3&A4&Face)
https://www.jianshu.com/p/94e0f9ab3f1d
30 Android知识体系总结之Android部分之Window的理解篇(已更新,A2&A3&A4&Face)
https://blog.csdn.net/yhaolpz/article/details/68936932
31 Android知识体系总结之Android部分之系统结构与系统源码目录篇(已更新,all&Face)
https://blog.csdn.net/itachi85/article/details/54695046/
32 Android知识体系总结之Android部分之冷启动&热启动篇(已更新,A2&A3&A4&Face)
https://blog.csdn.net/ClAndEllen/article/details/79383005
33 Android知识体系总结之Android部分之Andrid中的锁屏篇(已更新,all&No&Update)
https://www.jianshu.com/p/6c3a6b0f145e
https://blog.csdn.net/zrf1335348191/article/details/54377042
34 Android知识体系总结之Android部分之悬浮窗篇(已更新,all&No)
https://blog.csdn.net/ClAndEllen/article/details/82966403
35 Android知识体系总结之Android部分之蓝牙&相机篇(已更新,all&No&Update)
Android部分之蓝牙
Android部分之相机
如何获取手机本地图片
36 Android知识体系总结之Android部分之音视频开发篇(已更新,all&No)
https://blog.csdn.net/ClAndEllen/article/details/83023573
37 Android知识体系总结之Android部分之手机定位篇(已更新,all&No)
https://blog.csdn.net/qq_33689414/article/details/54136922
38 Android知识体系总结之Android部分之点九切图篇(已更新,all&No)
https://blog.csdn.net/leeccncdl/article/details/7303635
39 Android知识体系总结之Android部分之Material Design篇(待更新...,all&No)
Material+design非官方中文指导手册1.0 提取码:uqex
40 Android知识体系总结之Android部分之Android Drawable篇(已更新,all&No)
https://www.cnblogs.com/sharecenter/p/5620967.html
RecyclerView水波纹点击效果
Android:为Button添加圆角黑色边框及透明底色
41 Android知识体系总结之Android部分之内存优化&布局优化篇(已更新,all&Face&Update)
https://blog.csdn.net/carson_ho/article/details/79708444?from=singlemessage
42 Android知识体系总结之Android部分之屏幕相关知识&屏幕适配篇(已更新,all&Face&Update)
https://blog.csdn.net/carson_ho/article/details/51234308
43 Android知识体系总结之Android部分之进程间通信篇(已更新,A2&A3&A4&&Face)
https://blog.csdn.net/u011240877/article/details/72863432
44 Android知识体系总结之Android部分之图片开发&Bitmap&高清大图显示篇(待更新...,all&Face)
https://blog.csdn.net/ClAndEllen/article/details/79382123
[2]Java部分
1.Android知识体系总结之Java部分I/O流篇
http://blog.csdn.net/ClAndEllen/article/details/79429328
2.Android知识体系总结之Java部分多线程流篇
3.Android知识体系总结之Java部分异常篇
http://blog.csdn.net/ClAndEllen/article/details/79389561
4.Android知识体系总结之Java部分注解篇
http://blog.csdn.net/ClAndEllen/article/details/79392453
5.Android知识体系总结之Java部分类加载器篇
http://blog.csdn.net/ClAndEllen/article/details/79392630
6.Android知识体系总结之Java部分反射机制篇
http://blog.csdn.net/ClAndEllen/article/details/79393029
7.Android知识体系总结之Java部分泛型篇
8.Android知识体系总结之Java部分集合框架篇
9.Android知识体系总结之Java部分设计模式篇(已更新,all&Face)
https://blog.csdn.net/ClAndEllen/article/details/82966697
10.Android知识体系总结之Java部分Java虚拟机篇
[3]算法和数据结构部分(注意面试的时候回答不上来,千万别放弃,因为Android对算法的要求是次要的,也就是说算法能力并不能决定你拿不拿得到offer,当然也必须具备一些基本的算法能力,比如:冒泡,选择排序,二分查找啊等)
1.Android知识体系总结之算法与数据结构部分之算法的效率篇
2.Android知识体系总结之数据结构之链表篇
https://blog.csdn.net/lishuzhai/article/details/50972779
3.Android知识体系总结之数据结构之队列篇(已更新,all&Face)
https://blog.csdn.net/javazejian/article/details/53375004
4.Android知识体系总结之数据结构之栈篇
https://blog.csdn.net/javazejian/article/details/53362993
5.Android知识体系总结之数据结构之堆篇
https://blog.csdn.net/wypblog/article/details/8076324
6.Android知识体系总结之算法之排序算法
http://blog.csdn.net/happy_wu/article/details/51841244
7.Android知识体系总结之算法之查找算法
http://blog.csdn.net/three_man/article/details/46799659
8.Android知识体系总结之数据结构之树篇
https://blog.csdn.net/u011240877/article/details/53193877
9.Android知识体系总结之算法与数据结构部分之其它算法篇(待更新)
[4]操作系统
1.什么是进程?什么是线程?进程和线程之间的区别
2.Windows剪切板的和Android的进程间通讯是不是类似
[5]实战经验部分:
1.Android知识体系总结之实战经验部分之Android Stdio目录结构篇
http://blog.csdn.net/ClAndEllen/article/details/79368343
2.Android知识体系总结之实战经验部分之代码版本控制篇
http://blog.csdn.net/ClAndEllen/article/details/79369538
3.Android知识体系总结之实战经验部分之Android构建流程篇
http://blog.csdn.net/ClAndEllen/article/details/79369302
4.Android知识体系总结之实战经验部分之gradle篇
http://blog.csdn.net/ClAndEllen/article/details/79369643
5.Android知识体系总结之实战经验部分之proguard混淆篇
http://blog.csdn.net/ClAndEllen/article/details/79369761
6.Android知识体系总结之实战经验部分之Android屏幕适配篇(已更新,all&Face)
https://blog.csdn.net/ClAndEllen/article/details/82977894
7.Android知识体系总结之实战经验部分之Android多渠道打包与apk签名篇
[6]实战经验部分之常用框架部分
1.Android知识体系总结之常用框架之网络框架篇
http://blog.csdn.net/clandellen/article/details/79373303
2.Android知识体系总结之常用框架之异步框架篇
http://blog.csdn.net/ClAndEllen/article/details/79373350
3.Android知识体系总结之常用框架之图片加载框架篇
http://blog.csdn.net/ClAndEllen/article/details/79375228
4.Android知识体系总结之常用框架之依赖注入框架篇
http://blog.csdn.net/clandellen/article/details/79375249
5.Android知识体系总结之常用框架之内存优化框架篇
http://blog.csdn.net/ClAndEllen/article/details/79375317
6.Android知识体系总结之常用框架之数据库存储框架篇(已更新,all&Face)
https://blog.csdn.net/ClAndEllen/article/details/82967459
[7]实战经验部分之网络理论基础
1.Android知识体系总结之Android所具备的网络基础篇
http://blog.csdn.net/ClAndEllen/article/details/79379691
[8]实战经验部分之调试能力
1.Android知识体系总结之异常处理ANR异常篇
http://blog.csdn.net/ClAndEllen/article/details/79381399
2.Android知识体系总结之异常处理OOM异常篇
http://blog.csdn.net/ClAndEllen/article/details/79381656
3.Android知识体系总结之内存管理之Bitmap的加载篇
http://blog.csdn.net/ClAndEllen/article/details/79382123
4.Android知识体系总结之内存管理之UI卡顿篇
http://blog.csdn.net/ClAndEllen/article/details/79382430
5.Android知识体系总结之内存管理之内存泄漏篇
http://blog.csdn.net/ClAndEllen/article/details/79382815
6.Android知识体系总结之内存管理篇
http://blog.csdn.net/ClAndEllen/article/details/79382919
7.Android知识体系总结之内存管理之冷启动过优化及其他优化篇
http://blog.csdn.net/ClAndEllen/article/details/79383005
http://blog.csdn.net/ClAndEllen/article/details/79383058
8.Android知识体系总结之Android代码分析工具:Lint检查
http://blog.csdn.net/ClAndEllen/article/details/79400555
9.Android知识体系总结之Android代码编程规范
10.Android知识体系总结之实战经验部分之调试能力之测试篇
[9]实战经验部分之架构搭建篇
1.Android知识体系总结之之架构搭建之MVC模式篇
http://blog.csdn.net/ClAndEllen/article/details/79396116
2.Android知识体系总结之之架构搭建之MVP模式篇
http://blog.csdn.net/ClAndEllen/article/details/79396527
3.Android知识体系总结之之架构搭建之MVVM模式篇
http://blog.csdn.net/ClAndEllen/article/details/79396831
4.Android知识体系总结之之架构搭建之谷歌官方推荐架构TODO-MVP篇
https://www.jianshu.com/p/8b81493d1297
[10]前沿的技术篇
1.Android知识体系总结之前沿的技术之Android组件化开发篇(待更新,A2&A3&A4&Face)
2.Android知识体系总结之之Android插件化&热更新篇
插件化
热更新
3.Android知识体系总结之前沿的技术之进程保活篇(待更新,A2&A3&A4&Face)
http://blog.csdn.net/ClAndEllen/article/details/79398132
4.Android知识体系总结之Kotlin语言面试篇
http://blog.csdn.net/ClAndEllen/article/details/79400968
5.Android知识体系总结之Android消息推送篇:
https://www.jianshu.com/p/b61a49e0279f
6.Android知识体系总结之面向切面编程AOP篇:
http://blog.csdn.net/innost/article/details/49387395
7.Android知识体系总结之谷歌最新跨平台UI框架Flutter篇
谷歌的移动UI框架Flutter
由于笔者没有写源码分析文章的习惯,只是看源码的时候,自己大脑转了一遍,但没关系,我这里会贴出一些高质量大神写的源码分析的文章,希望读者被面试官问道的时候能够从容应答。
[11]Java源码篇
1.Android知识体系总结之LRU算法有关的集合LinkedHashMap的源码探究
http://blog.csdn.net/justloveyou_/article/details/71713781
2.Android知识体系总结之Java常用集合源码探究
ArrayList:
http://blog.csdn.net/gulu_gulu_jp/article/details/51456969
http://blog.csdn.net/chun0801/article/details/51481877
http://blog.csdn.net/u014136713/article/details/52089156
...不止这些,还有很多,请读者耐心等待笔者总结
[12]Android源码篇
1.启动一个app的源码分析
2.Android中的main()方法在哪里?
......
弄懂Android源码,你需要理解什么是init进程,什么是Zygote进程,SystemServer,AMS等等,这是需要时间去理解的:
http://blog.csdn.net/itachi85/article/details/54695046
init进程的启动流程:
http://blog.csdn.net/itachi85/article/details/54783506
Zygote(受精卵进程)的启动流程:
http://blog.csdn.net/itachi85/article/details/55047104
SyetemServer进程启动过程:
http://blog.csdn.net/itachi85/article/details/55053356
Launcher启动过程与系统启动流程:
http://blog.csdn.net/itachi85/article/details/56669808
程序启动的流程:
http://blog.csdn.net/itachi85/article/details/64123035
http://blog.csdn.net/itachi85/article/details/64243223
源码分析也不能完全按照大神的角度去看,有时候自己尝试去理解,就会发现不一样的地方,觉得世界一下被打开了,笔者在研究广播机制的源码的时候,就有这样的感觉,研究的时候,笔者终于知道为什么系统广播不安全,而本地广播那么安全高效,因为系统广播的通信机制使用的Binder,而Binder是走的系统,通过AMS注册的传播广播信号,而本地广播是通过Handler机制实现的通信,这就意味着,本地广播的信号肯定不会发送到应用之外,由于采用的Handler机制,所以高效就不足为奇了。
笔者曾被一个学弟提问道,研究源码有什么好处?除了平时能装逼,应付面试,还有什么?其实研究源码好处不止有这些,因为源码是比我们还要厉害的大神写出来的,我们可以学习这些源码里的一些实现逻辑,把这些实现逻辑搬到自己的代码中,这就厉害啦,有时候我们碰到难以实现的模块,我想源码或许会无形当中会提供一些解决方案,GitHub上那些Star比较多的项目的博主,我想他们肯定有看源码的习惯。
[13]Android框架源码篇
1.Android知识体系总结之网络框架OkHttp源码分析篇
https://www.jianshu.com/p/27c1554b7fee
2.Android知识体系总结之网络框架Retrofit源码分析篇
https://www.jianshu.com/p/0c055ad46b6c
3.Android知识体系总结之图片框架Glide源码分析篇
http://blog.csdn.net/yulyu/article/details/60331803
4.Android知识体系总结之图片框架Picasso源码分析篇
http://blog.csdn.net/woliuyunyicai/article/details/51417839
5.Android知识体系总结之内存分析框架LeakCanary源码分析篇
http://blog.csdn.net/cloud_huan/article/details/53081120
6.Android知识体系总结之依赖注入Butterknife源码分析篇
http://blog.csdn.net/ta893115871/article/details/52497297
7.Android知识体系总结之依赖注入Dragger2源码分析篇
https://www.jianshu.com/p/eef7fa8136e7
8.Android知识体系总结之异步框架EventBus源码分析篇
http://blog.csdn.net/ljd2038/article/details/51470734
9.Android知识体系总结之异步框架RxJava源码分析篇
http://gank.io/post/560e15be2dca930e00da1083
10.Android知识体系总结之图片框架ImageLoader框架源码分析
http://blog.csdn.net/xiaanming/article/details/26810303
http://blog.csdn.net/xiaanming/article/details/27525741
http://blog.csdn.net/xiaanming/article/details/39057201
以上就是Android知识体系总结的所有内容,下次更新时间预计于2019年3月左右,也就是每次跳槽最佳时间都会去更新一遍文章,即金三银四,金九银十,再次谢谢大家的阅读,觉得不错,就点个赞吧!
一个GitHub受欢迎的Android第三方库整理的网站,读者可以收藏一下,高效率开发
笔者上面没能将Java,Kotlin,算法与数据结构总结完善,当然这也在笔者的规划之中。
Java知识体系
算法与数据结构知识体系
Kotlin知识体系(待整理)
Python知识体系(待整理)