0

您好,我正在开发一个应用程序,它从互联网异步下载图像,然后在 Gridview 中显示它们。我正在使用存储图像的 HashMap,并且我不将它们存储在 sd 卡或除 hashmap 之外的其他地方,因为我想将此选项留给用户。我有两个问题。
1)我想在点击后全屏显示图像,最好在新的全屏活动中传递所有图像,这是一个图像切换器,开始显示所选图像中的图像并在其他图像之间切换。我怎样才能做到这一点?使用 hashmap 方法在新活动中获取 hashmap 是一个好的解决方案还是对内存是致命的?
2)我如何下载所有图像并将它们与gridview中的每个imageview绑定?我的意思是我希望所有图像都在开始时下载,而不仅仅是在调用 getview 时。
对不起我的英语不好!

4

1 回答 1

0

您需要将图像保存到磁盘缓存中。

您没有大量内存可在 Android 设备上使用位图。您的应用在某些设备上可能只有 16MB。因此,如果您将它们全部存储在内存中,您将很快耗尽内存。

保存到磁盘后,根据需要将它们解码到内存中。您可以使用内存中的 LRU 缓存对内存中的最后 10 个左右进行预解码。

首先阅读:http: //developer.android.com/training/displaying-bitmaps/index.html

于 2012-11-09T20:14:14.750 回答