杭州天气无比热,上班路上耗掉半条命。。。
这两天,在看一些开源的android项目,各种各样的项目都有,无一例外的是,这些项目的结构都非常合理。
一般来说,某个具体模块是一个包,由接口-->抽象类-->基本实现类-->具体实现类,这么来组成的,结构非常严谨。应该是事先就规划了的,这么写出来的代码
利于添加新的实现,因为耦合的不是过于紧密。
其中一个项目Android-Universal-Image-Loader--https://github.com/nostra13/Android-Universal-Image-Loader给我留下比较深刻的映像,该项目是一个
列表展示图片的项目,从网上加载图片。异步加载,使用了线程池,来控制若干线程,执行网络请求;软引用,保存图片缓存,同时采用了严格的并发控制,有代码块同步,原子类
AtomicXX来控制多线程带来的并发问题;以及本地缓存,强引用。
这个项目是一个lib项目,使用这个项目会对资源利用率达到比较高的水平。
其后,也看了ActionBarSherlock,不过来不及深究,android端的编写让我耳目一新,通过categary管理intent的方式有意思。
之后,学习方法的指导,大哥z示范了如何逐步了解一个新兴的项目,或者说技术。
进入其官网,查看介绍,介绍了该技术的情况,发展......而后是看sample,这是技术速成的神器,基本是拿来就能用。系统点的学习是看tutorial,里面像书本一样
规划处项目的各个部分,我看到一堆字,第一反应是头疼...不过也坚持看了httpComponent的教程,结合实际应用中的情况,介绍了对应的基本用法,实用。
所以,教程就是实用,sample就是速成。系统的学习的话,网站有提供books里面的相关书籍,具体的细节,参考api。
恩,看起来,很不错,真要自己去学一个啥的时候,才能有更好的经验。