LruCache和Concurrent从Android文件中使用BitMap访问gridview / listview

时间:2014-12-24 22:09:56

标签: android listview bitmap

在编写这个线程之前,我读了很多stackoverflow线程,还有很多教程。

我认为人们有时可能只会编写教程来编写内容"。

我使用gridview从文件中显示文件(imageView + textView) 我的文件列表名为文件。我设置了一个Custom BaseAdappter。它工作得非常好,因为而不是在文件夹中。我有超过5个图像。所以在适配器中我可以从imageView调用3个不同的方法:imageView.setImageResource(),setImageBitmpa(),setImageUri()。我使用了最后一个,因为我可以在适配器中获取当前文件后调用Uri.fromFile(file)。

转到" DCIM /相机"我发现了很大的问题。夹。在这里,我的应用程序可以正常运行Scrool真的很快。这是因为我遵循所有谷歌开发人员的指示来管理位图。 所以,现在我的adater使用AsynkTask和LruCache。官方谷歌开发者页面的示例使用从资源解码bitma的方法。所以我不得不编辑一些行,并在decodeFile();

中更改decodeResource()

这最后一个方法需要fileName和Options。所以,我的应用程序显示"以及#34;默认图库文件夹中的所有图片,但存在很大问题。

在完全加载gridview后,如果我向下滚动20行(示例),并在向上滚动的位置0返回,则许多imageView将与其他图像一起更改。这种问题一直发生在我做一点点或大量的时候。

我无法发布任何日志,任何错误,因为AS没有显示任何错误。只有一段时间Log向我显示类似" WaitForConcurrentGcToComlete被阻止......"

由于

0 个答案:

没有答案