【发布时间】:2015-05-28 07:48:52
【问题描述】:
我的应用程序通过 json/url 获取图像并沿着一些 TextView 填充 ListView。在每个项目上单击一个新的 details_activity 并打开一个 ImageView 以显示该行中的图像。然后我在一个全屏大小的新活动中从 ImageView 打开这个图像。
我的问题是:我需要在上面提到的所有活动中使用下面的通用图像加载器代码吗?
DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
.cacheInMemory(true).cacheInMemory(true)
.imageScaleType(ImageScaleType.EXACTLY)
.displayer(new FadeInBitmapDisplayer(300)).build();
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
getApplicationContext())
.defaultDisplayImageOptions(defaultOptions)
.memoryCache(new WeakMemoryCache())
.diskCacheSize(52428800).build();
ImageLoader.getInstance().init(config);
发生的情况是,有时我在显示全屏图像时出现内存不足错误。但是,如果我返回 details_activity 然后再次单击图像,即使我在所有使用 imageloader 的活动上使用上面的代码,它也会在 fullscreen_activity 中打开且没有错误。
【问题讨论】:
-
您可以使用通用图像加载器来填充您的列表视图。之后,只需通过意图将图像 url 传递给下一个活动并将其设置为 imageview。!
-
@DhinakaranThennarasu:我应该在 CustomListAdapter 类还是 ListView 类上编写代码?
-
@Skynet : 只有 defaultOptions 或所有代码(ImageLoaderConfiguration 配置...)?
-
很抱歉配置需要加载一次,每个类的默认选项。
-
告诉我你的想法:我按照你告诉我的方式做了。它在带有 android 4.4 的 genymotion 中完美运行。在具有 android 4.0 的 android 默认模拟器中,有时会发生问题。昨天我用 android L (Api 21) 创建了一个 android 默认模拟器,它看起来工作正常。这是模拟器还是 API 问题@Skynet?
标签: android