我的应用程序需要下载并保存大量图像和 mp3。这些仅对应用程序有意义,只有我的应用程序才能以有意义的方式使用它们。用户或其他应用程序将不知道如何处理它们。
我应该把它们放在哪里,外部或内部存储?
我想将它们保留在内部存储器中,因为它们仅对应用程序有意义,并且在删除应用程序时它们将被清除。
但是,对于旧设备,内部存储器非常有限,我认为用户将这些文件保存在这里会很麻烦。所以,我在考虑外部存储器,但我不喜欢在删除应用程序后将这些文件保留在那里的想法。
对此的最佳做法是什么?
谢谢你。
我的应用程序需要下载并保存大量图像和 mp3。这些仅对应用程序有意义,只有我的应用程序才能以有意义的方式使用它们。用户或其他应用程序将不知道如何处理它们。
我应该把它们放在哪里,外部或内部存储?
我想将它们保留在内部存储器中,因为它们仅对应用程序有意义,并且在删除应用程序时它们将被清除。
但是,对于旧设备,内部存储器非常有限,我认为用户将这些文件保存在这里会很麻烦。所以,我在考虑外部存储器,但我不喜欢在删除应用程序后将这些文件保留在那里的想法。
对此的最佳做法是什么?
谢谢你。
使用 'getExternalFilesDir(String type)' 返回的路径
从文档中:
“返回主外部文件系统(即 Environment.getExternalStorageDirectory() 上的某个位置)上的目录的绝对路径,应用程序可以在其中放置它拥有的持久文件。这些文件是应用程序的内部文件,通常对用户不可见媒体。
这就像 getFilesDir() 一样,在卸载应用程序时这些文件将被删除,但是有一些重要的区别:
外部文件并不总是可用:如果用户在计算机上安装或移除外部存储,它们就会消失。有关存储状态的信息,请参阅环境 API。这些文件没有强制执行安全性。例如,任何持有WRITE_EXTERNAL_STORAGE的应用程序都可以写入这些文件。”
更多详情: http: //developer.android.com/reference/android/content/Context.html#getExternalFilesDir(java.lang.String)
所以是的,您可以使用外部存储并在卸载应用程序时删除文件(只要您对缺乏安全性感到满意)。
这非常接近意见问题,很可能会被关闭。
简短的回答:使用外部存储。如果你用大量文件填满他们的内部存储空间,用户会生气的。
建议:给用户一个切换选项以将其存储在他们想要的任何地方!