3

我的应用程序需要下载并保存大量图像和 mp3。这些仅对应用程序有意义,只有我的应用程序才能以有意义的方式使用它们。用户或其他应用程序将不知道如何处理它们。

我应该把它们放在哪里,外部或内部存储?

我想将它们保留在内部存储器中,因为它们仅对应用程序有意义,并且在删除应用程序时它们将被清除。

但是,对于旧设备,内部存储器非常有限,我认为用户将这些文件保存在这里会很麻烦。所以,我在考虑外部存储器,但我不喜欢在删除应用程序后将这些文件保留在那里的想法。

对此的最佳做法是什么?

谢谢你。

4

2 回答 2

4

使用 'getExternalFilesDir(String type)' 返回的路径

从文档中:

“返回主外部文件系统(即 Environment.getExternalStorageDirectory() 上的某个位置)上的目录的绝对路径,应用程序可以在其中放置它拥有的持久文件。这些文件是应用程序的内部文件,通常对用户不可见媒体。

这就像 getFilesDir() 一样,在卸载应用程序时这些文件将被删除,但是有一些重要的区别:

外部文件并不总是可用:如果用户在计算机上安装或移除外部存储,它们就会消失。有关存储状态的信息,请参阅环境 API。这些文件没有强制执行安全性。例如,任何持有WRITE_EXTERNAL_STORAGE的应用程序都可以写入这些文件。”

更多详情: http: //developer.android.com/reference/android/content/Context.html#getExternalFilesDir(java.lang.String)

所以是的,您可以使用外部存储并在卸载应用程序时删除文件(只要您对缺乏安全性感到满意)。

于 2014-01-24T16:06:08.750 回答
0

这非常接近意见问题,很可能会被关闭。

简短的回答:使用外部存储。如果你用大量文件填满他们的内部存储空间,用户会生气的。

建议:给用户一个切换选项以将其存储在他们想要的任何地方!

于 2014-01-24T15:55:12.320 回答