商城项目做了一年多,也维护了这么久,一直想对此总结一下,也让不熟悉的朋友了解一下,应用商城的一些技术难点
其实,开发应用商城,不外乎这么几点:
1: 异步加载app 信息列表, 主要是app的icon加载:
为了app列表滚动刷新流畅,引入了线程池的思想,网络端加载信息的动作都在线程池中进行
外码片段如下:
public class AsyncImageLoader3 {
//为了加快速度,在内存中开启缓存(主要应用于重复图片较多时,或者同一个图片要多次被访问,比如在ListView时来回滚动)
public Map> imageCache = new HashMap>();
private ExecutorService executorService = Executors.newFixedThreadPool(8); //固定五个线程来执行任务
private final Handler handler=new Handler();
/**
*
* @param imageUrl 图像url地址
* @param callback 回调接口
* @return 返回内存中缓存的图像,第一次加载返回null
*/
public Drawable loadDrawable(final String imageUrl, final ImageCallback callback) {
//如果缓存过就从缓存中取出数据
if (imageCache.containsKey(