来了公司几个月,做了两个项目,一直没总结,现在终于有时间了。
先看一下第二个项目酷运动商城
在这个项目里面,最大的突破在于在于
- android的列表去加载大量图片
- 以及多线程的应用
- activityGroup的应用,并且控制其跳转
- 共享数据,数据库的应用,文件缓存
- 对布局的进一步的熟悉,以及突破。
这个项目获益良多,慢慢总结。
本篇说明一下,列表加载大量的图片,以及多线程在这边的应用。
这里主要是几个问题会非常麻烦,需要我们去处理
- 加载图片完成后即时刷新
- 加载了大量的图片,却不会发生内存的溢出,OutOfMemory
- 多级的缓存机制
- 多线程的应用,提高图片的加载速度
- 线程池的运用,以防止开启过多的线程,使cpu的压力骤增。
加载图片并且即时刷新
这里运用到了一个懒加载 (lazy load)的技术。
也就是在图片读取完整之后,再在主的绘图线程里去设置该图片,就达到了这个效果。
// ===========================================================
// 这段代码有很多地方参考了国外一位大大的代码,不是原创。
// ===========================================================
// 这个是图片的缓存
static HashMap<String, SoftReference<Bitmap>> cache = new HashMap<String, SoftReference