Android开发如何高效学习系统底层原理

Posted 刘望舒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android开发如何高效学习系统底层原理相关的知识,希望对你有一定的参考价值。

本文首发于微信公众号「刘望舒」

大家好,我是刘望舒,I’m back!最近分享了一些视频,都属于望舒杂谈,望舒杂谈会分享一些经验,什么都会聊。除了望舒杂谈还有另一个视频分支叫做BATcoder,什么是BATcoder呢?它是android进阶三部曲的番外篇,会对Android进阶三部曲的内容进行拓展和升级,会以视频的形式分享给大家。至于为啥叫BATcoder,这是因为我希望大家看了我的技术视频能进入自己中意的大厂。
这篇是BATcoder的第二个视频,来聊聊应用开发如何高效学习系统叠层源码,注意是给应用开发看的,如果你是系统开发、逆向安全开发,这个视频并不适用于你。

本视频主要从三个方面来进行讲解,分别是:

1.为何要阅读系统源码?
2.如何阅读调试系统源码
3.系统源码的知识体系

视频版本

B站

独立博客

1.为何要阅读系统源码?

  1. 面试必备。无论是大公司还是中小公司,系统源码都是常问的部分。(便于筛选、得知潜力、解决难题)
  2. 更好的掌握编写代码的规范和技巧。
  3. 更好的理解设计模式。见《Android源码设计模式解析与实战》这本书。
  4. 有效的提高应用开发能力,比如:自定义View、调试疑难问题、插桩
  5. 更好的理解应用开发中涉及的原理,比如:热修复、插件化、Activity的启动模式…
  6. 转战框架层开发、多媒体开发、逆向安全开发…

2.如何阅读调试系统源码?

  1. 下载源码或者是在线阅读源码
    在线阅读源码推荐:http://androidxref.com/
    下载地址推荐:http://pan.baidu.com/s/1ngsZs
    也可以在Linux环境中用repo下载AOSP源码
  2. 选择阅读源码的工具,推荐Source Insight
  3. 选择调试源码工具,推荐AS
    这一内容我会在后续的BATcoder的视频中进行分享,如果你想提前学习,可以查看我的博客的AOSP基础系列:

http://liuwangshu.cn/tags/AOSP%E5%9F%BA%E7%A1%80/

3.系统源码的知识体系?

主要涉及到以下知识:

Android系统架构
Android系统源码目录
Android系统启动过程
Binder原理
应用程序进程启动过程
根Activity的工作过程
Context的关联类
理解AMS
理解WindowManager
理解WMS
理解PMS
理解输入系统
阅读源码的通用套路
系统源码知识体系

这些都是应用开发需要掌握的,而且也只是部分内容,内容很多很杂,已经很难用文章来进行表述,就算用视频来讲解,也只能每个分类大概讲讲,旨在让大家了解应用开发需要掌握哪些系统源码知识,以及每个源码知识大概要了解哪些内容,然后通过这些内容总结出高效学习系统源码的通用套路。

话不多说,上视频,欢迎大家去B站3连。

http://liuwangshu.cn/batcoder/android-framework.html

作者简介:刘望舒,腾讯云最具价值专家TVP,畅销书《Android进阶之光》《Android进阶解密》《Android进阶指北》作者,蝉联四届电子工业出版社年度优秀作者,前华为面试官,现大厂技术负责人,谷歌开发者社区特邀讲师。

也欢迎大家关注我的公号 会分享大前端、Java相关的技术。

以上是关于Android开发如何高效学习系统底层原理的主要内容,如果未能解决你的问题,请参考以下文章

拜托,都2023年了,再不懂Android Framework底层原理,真要被淘汰了

如何高效的学习 TensorFlow 代码

从源码的角度理解四大组件的工作过程——Android开发艺术探索笔记

android 底层入门开发

腾讯技术团队最新出品,Android Framework系统框架底层原理解密

第三次,腾讯面试官又把我问懵了,这次是 Android Binder 的底层原理...