Android知识体系总结(全方面覆盖Android知识结构,面试&进阶 Version-2.0.0 时间:2019.05)

这份知识体系包含:

  • Java部分:集合,线程,异常,泛型,反射,jvm等(暂时没精力总结,以面试题为主)

  • Android部分:
    基础部分:ABCS(四大组件),Handler,Fragment,RecyclerView,SQLite,项目架构(MVVM&MVP)等(基本涵盖所有的基础知识)
    中级进阶:事件分发,View绘制,常用的库(Android10大常用库等)使用,JNI,屏幕适配,布局优化,内存优化,Android前沿知识(Flutter,热修复,插件化,组件化,模块化)等等。
    高级进阶: 熟悉各种轮子的设计原理,自己造轮子,Framework开发相关知识等等

  • 算法与数据结构部分
    以分享链接为主。

  • 计算机网络部分
    五层网络模型,三次握手&四次挥手,请求头&响应头,Socket&WebSocket…

  • 面试题部分
    简书Android面试题集
    CSDN Android面试题集
    知识体系加面试题总结,能力越来越强,因为努力很值得>-<。


文章改造中,请给笔者时间(2019-04-30)。点击查看改造中的文章

以下是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积分,这次积分高了些,就算对笔者辛苦整理的奖励吧,但是你没有积分的话,去百度云下载吧,就在上面)

  当然这次升级添加了很多东西,你可能疑问面试为什么会有这么多东西,其实笔者的这份不仅仅可以用来面试,当作是进阶路线也是可以的,理论上讲这份完全是可以应付面试的,希望对你有所帮助。关于这份面试知识体系的说明请看后面。

以下是知识体系图的部分:

脑图非常大,这里列不完,请读者下载笔者给的脑图链接,然后在详细看每一个知识体系结构。

详细内容,读者可以下载上述百度云分享链接的那个文件,并使用Xmind8打开。

  注意:对于正在入门学习Android的同学,请看笔者另外一篇文章:https://blog.csdn.net/clandellen/article/details/78258187 (里面介绍了如何去自学Android,有Java视频教程,Android Studio版本的Android视频教程),Android基础部分对你来说可以去看一看,对于1到2年开发经验的读者,基础部分,必须掌握和明白,而有些部分,你可以选择性去看和掌握,比如:Android源码部分,你不必去弄清android系统的启动过程,只需要了解init进程什么,Zygote进程是什么,AMS是什么,作用是啥即可,而常用框架源码部分呢,如果你面的公司是有严格要求的,我指的是类似于BAT,你要选择其中3,4甚至5,6个着重去学习,其它的作为了解粗略看一下就行了,http自然不用我说了吧,Java设计模式等,数据结构与算法部分,也不必太耗时间去整明白,知道多线程环境下最安全的单例模式,而且知道一些框架中采用了何种设计模式,比如RxJava采用的观察者设计模式等,能手写冒泡,二分法,最好会快排,知道堆和栈,链表,队列等的特性即可,也要注意合理安排时间,有些链接里文字过多的,粗略的看看,达到能自己说出来重点即可,比如:Android基础部分,对于Context的理解,你需要知道Android中有几种上下文,它们的作用分别是什么即可,而对于3年经验甚至更多的读者,对我而言你已经是个大佬了,首先我要跟你打声招呼:大佬你好,基础部分,经验部分对你而言已经不再是难题,你应该去明白Android系统的启动流程的源码分析,一个app是如何启动等,常用框架的源码至少得弄懂大半,深入源码,并有自己的一套分析思维模式。最后总结:如果你对自己有严格要求,希望你找到offer后,把这篇文章里你不懂的部分还是去好好学习,只有不停的学,才可以让自己更加去胜任平时的工作。

[1]Android基础部分

1.Android知识体系总结之Android部分之Activity篇
http://blog.csdn.net/clandellen/article/details/79257489

2.Android知识体系总结2之Android部分之Broadcast篇
http://blog.csdn.net/clandellen/article/details/79279416

3.Android知识体系总结之Android部分之ContentProvider篇
https://blog.csdn.net/ClAndEllen/article/details/82765220

4.Android知识体系总结之Android部分之Service篇(已更新,all&Face)
http://blog.csdn.net/clandellen/article/details/79276411

5.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

Android Studio地图开发(百度地图)

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

2.Android知识体系总结之Android所具备的网络基础篇(新版本)
https://blog.csdn.net/ClAndEllen/article/details/89854552#t14

[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知识体系(待整理)

更多相关文章

  1. Android(安卓)HttpClient上传文件与Httpconnection知识小结
  2. 开源android平板开发所需的软硬件知识
  3. 开发android,我们需要哪些技能基础。
  4. 4412开发板Android教程——Android平台简介
  5. Android知识体系总结(全方面覆盖Android知识结构,面试&进阶)
  6. Android简明开发教程二十四:总结及示例代码下载
  7. Android开发:Android设备传感器开发总结
  8. android中handler总结
  9. Android(安卓)- 文件读写操作 总结

随机推荐

  1. (Android实战系统二)Android网络互动传输
  2. 使用Swift为Android构建代码
  3. Android Notification 详解,使用MediaPlay
  4. (转)Android内存管理机制之一:lowmemory k
  5. 开发者大会传递信号:Android开发者将越来
  6. 安卓Android开发视频教程大全50GB/安卓基
  7. android自定义adapter 滑动屏幕时 进度条
  8. Android中活动的生命周期
  9. 如何使用jdb调试android的java程序
  10. 【COCOS2DX-ANDROID-游戏开发之二五】 调