-1

我试图找到在存储在互联网上的 android 设备上显示图像的方法,我遇到了这些教程:

http://www.androidcookers.blogspot.com/2011/06/retrieve-image-from-internet.html http://www.edumobile.org/android/android-beginner-tutorials/downloading-an-image-from -服务器并在屏幕上显示它/

现在我的应用程序将有点像一个画廊,其中将有多个图像必须从互联网显示给用户。

根据上面提到的方法,我推测图像将首先下载到手机上的某个地方,然后显示在应用程序上。

由于我正在处理多个图像,我想知道这些图像存储在哪里?在应用程序关闭后,我是否需要进行某种清理,删除我下载的图像,或者类似的东西?下载这些图像时我的应用程序可以消耗的空间量是否有任何限制?

谢谢你。

4

2 回答 2

2

在这种情况下,我建议使用 LazyLoader。有几个非常流行的可用。一个是Fedor 的 延迟加载,另一个是Universal Image Loader

现在我的应用程序将是一个类似画廊的应用程序,其中将有多个图像必须从互联网上显示给用户。

为此,我建议使用GridView. 对于一个完整的工作解决方案,您可以参考我的一篇文章,该文章使用 aGridView来显示图像(它非常冗长,因此是答案的链接):https ://stackoverflow.com/a/13265776/ 450534

注意: 在链接到的示例中,我从使用 Facebook API 中提取信息,但您始终可以提取/推断代码的本质以满足您的确切需求。当然,您将需要调整某些部分并适应您自己的逻辑,但这足以让您入门。

在链接到的答案中,我使用了Fedor 的Lazy Loader。

由于我正在处理多个图像,我想知道这些图像存储在哪里?在应用程序关闭后,我是否需要进行某种清理,删除我下载的图像,或者类似的东西?下载这些图像时我的应用程序可以消耗的空间量是否有任何限制?

使用 Lazy Loader 或 Universal Image Loader,您不必担心。这个想法是缓存下载的图像。Lazy Loader检查已经缓存的图像并使用它们,而不是重新下载图像。只需更改路径,它们就可以存储在您选择的文件夹中。在我的一个使用延迟加载器的应用程序中,我可以选择从“设置”面板中清除缓存。另外,文件夹本身可以使用文件资源管理器手动删除。

于 2013-02-11T05:23:56.977 回答
0

它们存储在您告诉他们存储的任何位置 - 通常在您的应用程序私有目录中的内部存储或外部存储中。如果您要再次使用这些图像,请保留它们,以便下次不需要再次下载它们。如果你不是,你应该删除它们。内部存储空间有限制,但具体数量取决于您的手机型号。外部存储仅受 sd 卡大小的限制。

于 2013-02-11T05:02:19.247 回答