记录一下最近的学习心得

学习Android也有些年头,从开始工作工作到现在也有两年多了,记录一下学习的历程。最开始的时候,运气比较好,第一家公司就是一个大平台,在我周围都是大牛,我非常羡慕和尊敬他们,我跟着他们学习,我一点一点的进步,慢慢的有了初级开发工程师的样子,有相对扎实的基础,代码也不会太令大佬们吐槽了,但我一点也不敢有放松的想法。现在这家公司,令我对Android系统整体结构的理解愈加深刻,对系统定制化细节操作认识更加清晰,也对自己的职业发展有莫大帮助,感谢大佬授业之恩!

越学习,越发现Android这个庞大的体系里面是一个大世界,只能大体知道里面有什么东西,就比如她的层次结构,分为了应用层,框架层,运行环境及c++类库层,硬件抽象层,Linux内核层,底层硬件。

大多数人都会在应用层进行编辑,这个层次的话会接触到各种各样的框架,编写业务逻辑,及适配工作,还有就是会对应用有各种性能上的优化,增强软件的用户使用舒适度等等。

再往下的话,就是framework层,这个层次的话,我的理解是系统源码的framework目录的内容,包含了java和部分native的代码,起到连接native层与应用层的作用,像什么AMS,PAMS,WMS等各种重要系统服务都是在这里面,还有jni的注册过程源码也在里面,反正这里面很有意思,可以借鉴他们的设计思想,然后编写属于自己思想的“服务”,建议binder入手学习framework层,再然后从init进程看各种系统服务的启动过程。

再往下就是运行环境及c++类库层了,这个层的话主要是看虚拟机这部分的内容,我之前也对dvm的虚拟机有简单的研究过,主要看的是虚拟机的启动过程,为jni连接初始化环境,虚拟机的GC过程,虚拟机对apk的优化过程。

再然后就是Android的硬件抽象层,及Linux内核层,这两个我都没有进行改动,基于系统稳定与适配问题的考虑,由原厂提供支持,决定修改。如果有兴趣的话可以啃一下binder驱动。

底层硬件不考虑继续跟了,博主纯软件专业出生,剩下的时间是考虑加深设计框架,与系统中间件设计的理解,再慢慢啃一个系统的子模块吧。

学习一路,贵在坚持,探索精神,而且对于我来说,还有一个原则就是凡事预则立,不预则废!希望我的未来更加坚定的走下去,加油!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值