Android知识体系总结(全方面覆盖Android知识结构,面试&进阶)

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

这是一篇实时更新的Android知识体系总结的博客,如果你是一枚Android程序员,请跟随笔者的步伐,好好学习,实现所想所得。

再一次来到金三银四,感谢大家对于这篇文章的认可,顺便道句:各位读者,新年好,希望新的一年你们能成长到自己像成长的样子,实现自己2020的目标8888888
这一次更新笔者会更新什么呢?有所期待吗?这一次更新笔者想把知识体系重新整理一下,之前2个版本有些不够完善,有些不够深度,笔者将会在每个知识体系后面加上一些面试题,读者可以通过这些面试题进行考察,测试自己知识的掌握情况,当然初学者,中级,高级等等都能通过此系列文章进阶,这是笔者的初衷,也是笔者唯一的写博客动力源泉,希望带着梦想的你们认真努力,日复一日,年复一年提升技术。

这份知识体系大纲包括:
Android部分:

  • 四大组件篇
    Activity
    BroadcastReceiver
    ContentProvider
    Service

  • 第五大组件篇
    Fragment

  • 对话框 & 通知篇
    Dialog
    PopWindow
    DialogFragment
    Notification

  • Android 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
    组件化
    JetPack

  • Android高级进阶篇
    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):

2018年9月份(Version-1.0.1):

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

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

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

发布了0 篇原创文章 · 获赞 0 · 访问量 491

猜你喜欢

转载自blog.csdn.net/binbinbintony/article/details/104669141
今日推荐