【发布时间】:2013-08-27 14:50:52
【问题描述】:
使用FQL,我为我的所有朋友获得了ids、names 和links to profile pictures 的列表。我将此信息放在ListView 中。我使用AsyncTask 获取图像,然后将它们插入到ImageView 中,在名称旁边的ListView 的每个条目中。
我的问题是:我应该如何处理放在ImageViews 中的drawable?将它们保存在内存中肯定会引发OutOfMemory 异常,因为列表可能会变得很长。我应该将它们存储在本地缓存中吗?如果是这样,最好的方法是什么?我应该使用SharedPreferences,因为它们更快吗?还是我应该使用SQLite?或者……
这样做的正确方法是什么?
附:我其实不需要代码,只是解释一下它的流程。
【问题讨论】:
-
ListView 回收视图。我认为您不必担心列表的大小。
-
尝试将图像存储在外部或内部存储的缓存中
-
你可以使用这个库来异步下载和缓存图片github.com/nostra13/Android-Universal-Image-Loader
-
@Tarun 是的,确实,但我仍然需要以某种方式存储
drawables,所以当ListView要求某个特定的时,我手头有它,而不是重新请求它。我猜每次ListView需要它时请求相同的个人资料图片是多余的,不是吗?所以我应该将它们存储在本地。 -
@Tarun ...嗯,看起来不错。我来看看。
标签: android facebook-android-sdk