首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

从Foursquare望手机端程序设计(2)

2012-09-13 
从Foursquare看手机端程序设计(2)为了提升手机端的响应速度,Foursquare采用了一种巧妙的措施,Foursquare在

从Foursquare看手机端程序设计(2)

为了提升手机端的响应速度,Foursquare采用了一种巧妙的措施,Foursquare在获取一个带图片的列表的时候,图片和文字区别对待。Foursquare先获取文字列表并显示出文字,而图片则是延迟加载。在加载图片的过程采用了缓存+多线程+线程池等技术优化读取速度。Foursquare读取图片的时候采用多线程技术,同时几个线程读取图片,并把读到的图片缓存起来,以便下次读取。读到图片以后通知界面更新。

图标读取优化是Foursquare中最为复杂的技术之一。在分析之前应该先掌握以下基础知识:

1.观察者模式。2.ExecutorService是java中用于管理一个线程池的类,使用实例参见

http://hi.baidu.com/coolinc/blog/item/0d5545d48c9183ce50da4bcf.html

3.Android notifyDataSetChanged() 方法:notifyDataSetChanged方法通过一个外部的方法控制如果适配器的内容改变时需要强制调用getView来刷新每个Item的内容。

?

图片读取主要有四个类组成FetcherObserver 是RemoteResourceFetcher的Observer,等待RemoteResourceFetcher获取的数据后调用RemoteResourceManager中的notifyObservers()通知RemoteResourceManagerObserver更新界面。

?????? RemoteResourceFetcher 通过网络以多线程的方式获取数据。获取图片代码:

?

?

?

?

?

?

//构造的读取请求

?

?

?

?

?

?

FetcherObserver 监视RemoteResourceFetcher 并调用RemoteResourceManager

中的notifyObservers() 通知 RemoteResourceManager 中注册的Observer对象

?

?

热点排行