大家好,我是刘望舒,I’m back!最近分享了一些视频,都属于望舒杂谈,望舒杂谈会分享一些经验,什么都会聊。除了望舒杂谈还有另一个视频分支叫做BATcoder,什么是BATcoder呢?它是Android进阶三部曲的番外篇,会对Android进阶三部曲的内容进行拓展和升级,会以视频的形式分享给大家。至于为啥叫BATcoder,这是因为我希望大家看了我的技术视频能进入自己中意的大厂。
这篇是BATcoder的第二个视频,来聊聊应用开发如何高效学习系统叠层源码,注意是给应用开发看的,如果你是系统开发、逆向安全开发,这个视频并不适用于你。
本视频主要从三个方面来进行讲解,分别是:
1.为何要阅读系统源码?
2.如何阅读调试系统源码
3.系统源码的知识体系
1.为何要阅读系统源码?
- 面试必备。无论是大公司还是中小公司,系统源码都是常问的部分。(便于筛选、得知潜力、解决难题)
- 更好的掌握编写代码的规范和技巧。
- 更好的理解设计模式。见《Android源码设计模式解析与实战》这本书。
- 有效的提高应用开发能力,比如:自定义View、调试疑难问题、插桩
- 更好的理解应用开发中涉及的原理,比如:热修复、插件化、Activity的启动模式…
- 转战框架层开发、多媒体开发、逆向安全开发…
2.如何阅读调试系统源码?
- 下载源码或者是在线阅读源码
在线阅读源码推荐:http://androidxref.com/
下载地址推荐:http://pan.baidu.com/s/1ngsZs
也可以在Linux环境中用repo下载AOSP源码 - 选择阅读源码的工具,推荐Source Insight
- 选择调试源码工具,推荐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
理解输入系统
阅读源码的通用套路
系统源码知识体系
这些都是应用开发需要掌握的,而且也只是部分内容,内容很多很杂,已经很难用文章来进行表述,就算用视频来讲解,也只能每个分类大概讲讲,旨在让大家了解应用开发需要掌握哪些系统源码知识,以及每个源码知识大概要了解哪些内容,然后通过这些内容总结出高效学习系统源码的通用套路。
话不多说,上视频。
也欢迎大家关注我的公号 会分享大前端、Java相关的技术。