解决方案 »
- Android控件对齐求助(急!!!)
- 一个Service方面的问题
- 想做个android下的模拟考试系统,高手指点啊!谢谢
- Android button事件监听
- 那个控件用哪个类来实现的
- 提高JNI代码对网络驱动的访问权限
- Android: 在一个view1点击text或者button,view2(大小只有view1的一半大或者更小)现实在view下面
- ni本地调用相关问题 win7 eclipse4.2 OpenCV-2.4.6-android-sdk-r2 ndk-r9
- 虹软免费人脸识别活体检测离线的SDK有没有大神测试过?
- AS3.4.1安装完之后make project失败,提示 could not get,后面是 dl.google.com
- zirco 浏览器 安卓版的 浏览isapi扩展 中文乱码 请问怎么解决
- webview的cookie问题
2、一边阅读代码一边绘制UML。这个方法适用于类之间的关系较复杂和调用层次较深的情况,我一般都是先绘制顺序图,然后为顺序图中的类绘制关系图。
3、通过Debug来跟踪程序的主要执行过程,这样就可以分清主次了,阅读的时候更有针对性。
4、类的快速阅读。先弄清楚它在继承链中的位置,看看它的内部状态,也就是成员变量,一般来说,类的对外接口都是对成员变量的访问、加工、代理等,然后看看它的对外接口,也就是公有成员函数,识别核心的一个或多个函数,这时候你应该可以大概了解这个类的职责或作用了。可能这个类是某个设计模式中的一个组成部分,所以,设计模式的掌握对代码的快速阅读也是很有帮助的。
5、带着问题去阅读。比如想了解android中的消息机制,那么看看Looper、Handler、MessegeQueue这几个类就可以了,其他的不要去看,要不然就跑题了。
下面列几个阅读源码时所处的情景,在特定场景下用哪些方法:
不太熟悉业务逻辑,还不是很清楚它是干啥的,可以用3、5。
代码量很大,有几十万行,甚至百万行,可以用2、3、5。
你无法看见程序的运行过程,比如没有用户界面,也有可能是无法运行的,可以用3、5。
设计复杂,用了大量的设计模式,调用链很深,可以用1、2、3、4、5。
时间有限,没有那么多时间让你看源码,可以用3、5。