在我的应用程序中,我需要显示存储在外部存储目录中的图像。我用这些图像填充列表视图。但是,如果有太多图像说,> 10,应用程序内存不足。我现在明白我应该实现一个异步任务来实现这一点。可以帮助我如何做到这一点。我应该在LisviewAdapter.java或Activity.java中调用Async类吗?任何一个例子都会非常有用。谢谢。
答案 0 :(得分:2)
为了优化它,我建议你使用
Picasso
用于从网址加载图片的库。
功能是:
Handling ImageView recycling and download cancelation in an adapter.
Complex image transformations with minimal memory use.
Automatic memory and disk caching.
答案 1 :(得分:1)
您必须使用LazyLoading机制来避免内存问题。 Picasso是android完成此类任务的绝佳库。只需在适配器中添加该行,而不是直接将位图设置为imageview:
Picasso.with( context ).load( new File(...)).into( imageView3 );
此外,您还要将这些内容添加到依赖项列表中的build.gradle文件中:
compile 'com.squareup.picasso:picasso: 2.5.2 '