Android开发如何高效学习系统底层原理
Posted 刘望舒
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android开发如何高效学习系统底层原理相关的知识,希望对你有一定的参考价值。
本文首发于微信公众号「刘望舒」
大家好,我是刘望舒,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
理解输入系统
阅读源码的通用套路
系统源码知识体系
这些都是应用开发需要掌握的,而且也只是部分内容,内容很多很杂,已经很难用文章来进行表述,就算用视频来讲解,也只能每个分类大概讲讲,旨在让大家了解应用开发需要掌握哪些系统源码知识,以及每个源码知识大概要了解哪些内容,然后通过这些内容总结出高效学习系统源码的通用套路。
话不多说,上视频,欢迎大家去B站3连。
http://liuwangshu.cn/batcoder/android-framework.html
作者简介:刘望舒,腾讯云最具价值专家TVP,畅销书《Android进阶之光》《Android进阶解密》《Android进阶指北》作者,蝉联四届电子工业出版社年度优秀作者,前华为面试官,现大厂技术负责人,谷歌开发者社区特邀讲师。
也欢迎大家关注我的公号 会分享大前端、Java相关的技术。
以上是关于Android开发如何高效学习系统底层原理的主要内容,如果未能解决你的问题,请参考以下文章
拜托,都2023年了,再不懂Android Framework底层原理,真要被淘汰了
从源码的角度理解四大组件的工作过程——Android开发艺术探索笔记