我的问题:
假设我的应用已将文件写入SD-CARD或内存作为文件,现在我卸载了我的应用程序。该文件是否也将被删除,或者即使在删除申请后仍会保留该文件
其他问题:
当我进入设置屏幕并清除缓存....将自动删除由该应用程序的用户创建的所有文件和缓存getExternalFilesDir()
或getExternalCacheDir()
和Environment.getExternalStoragePublicDirectory()
/
答案 0 :(得分:1)
我使用Environment.getExternalStorageDirectory().getAbsolutePath()
查找用户的外部SD并将数据文件写入为我的应用创建的目录。这个目录及其内容通过我的应用程序的多次测试重新安装而持续存在,所以我说用这种方式创建的文件是持久的。
根据the Android docs here,内容存储不是这样的:
String FILENAME = "hello_file";
String string = "hello world!";
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();
这些文件不会在重新安装时保留。
答案 1 :(得分:1)
文件可以作为缓存或文件存储在内部存储器或SD-CARD中
Internal storage和external storage具有缓存目录选项。 Removable storage,只要可以通过Android SDK访问,就不会。
假设我的应用已将文件写入SD-CARD或内存作为文件,现在我卸载了我的应用程序。该文件是否也将被删除,或者即使在删除申请后仍会保留该文件
内部存储:您的文件已删除
外部存储:如果您将文件写入以getExternalFilesDir()
或getExternalCacheDir()
为根的位置,则会删除您的文件。如果您将文件写入其他位置(例如Environment.getExternalStoragePublicDirectory()
),则不会删除您的文件
Android 4.4之前的可移动存储:可移动存储无法正式访问;如果您的文件在那里结束,则在卸载您的应用程序时不应删除该文件
可移动存储,Android 4.4 +:AFAIK,如果您写入受支持的位置(getExternalFilesDirs()
或getExternalCacheDirs()
),如果可移动存储的特定位于卸载时的设备