android 是一个很大的世界,凭借个人的能力想要把它全部弄懂,不太现实。花了很多的时间看了一些(谦虚点)android的源码,去了解它的流程,每次看完一个模块的代码(只是浏览完代码,具体细节并不一定知道),总觉得也就那样,感觉跟搭不上关系,这也就是很多人都有的心理(学那个有什么用,你又不弄那个等等之类)。当然,我不是这样的心理。
如果是分散的,单独的看某个模块的源码,发现有很多流程都串不起来,很难想象到底是不是这样实现的。我有时候也觉得自己对android了解得挺多的,意思是范围很广,但是并没有用,因为不清楚里面的细节,所以还是外行人,于是我改变了学习的方向,今后有时间的话基本上就会认真研究一下android的录制和播放这两个大头。当然不仅仅只是录制或播放这个模块本身的流程,而是把与之相关的模块也要掌握。重点是数据流,数据在各个模块的结构,各个模块对数据做了那些处理。
关于模块的学习,我想分享一下我的看法,就我目前所在的公司要求而言,可以分成三个层次。
1、了解了这个模块的流程,也就是说这个模块的代码你基本看不不止两三遍,对里面的很多细节和流程都知道了,即使忘记了或者记不太清楚了,仍然可以快速找到代码的位置,再认真看看,然后就懂了。
2、能够找到模块里面的bug,不要认为android 的代码就是完美的,没有bug,公司提供的是android系统的技术支持,所以经常会有各种各样的问题,当然android原生的问题比较少,很多都是我们修改了一些需求,或者做了客