【发布时间】:2013-03-27 21:01:26
【问题描述】:
我想保存从服务器下载的图像。我希望这些图像只能从应用程序本身访问。我不希望从其他任何地方访问图像,即有人可以删除/修改它,就像它在 SD 卡上或从另一个不同的应用程序一样。我认为最好使用内部存储,因为它对我的应用程序是私有的。
http://developer.android.com/guide/topics/data/data-storage.html#filesInternal
还有更好的选择吗?
【问题讨论】:
我想保存从服务器下载的图像。我希望这些图像只能从应用程序本身访问。我不希望从其他任何地方访问图像,即有人可以删除/修改它,就像它在 SD 卡上或从另一个不同的应用程序一样。我认为最好使用内部存储,因为它对我的应用程序是私有的。
http://developer.android.com/guide/topics/data/data-storage.html#filesInternal
还有更好的选择吗?
【问题讨论】:
如果您想保护文件的私密性,内部存储是最佳选择。
但是,在大多数设备上,内部存储空间非常有限,如果您使用过多,用户可能会卸载您的应用(图片可能非常大)。
你应该考虑使用外部存储来保存图像,如果你真的想保持它们的私密性,可能会加密它们。
【讨论】:
正如 Raghav 已经提到的,这将是一个不错的选择,并且如前所述,内部存储空间非常有限(主要在较旧的设备上),但是如果您使用的是 root 设备,则无论如何都可以删除您的文件。考虑到有限的存储空间,因为人们也在他们的 SD 卡上制作“交换分区”,因为内部存储空间非常有限。
【讨论】:
这是最简单的解决方案。另一个典型的解决方案是将图像作为 blob 存储在应用程序的数据库中。这将使它在您的应用程序之外完全无法访问。您可以使用此处显示的方法进行操作:
How to store and retrieve a byte array (image data) to and from a SQLite database?
这样做的缺点是为您的数据库 (
【讨论】: