我将游戏的当前状态保存在位于getExternalFilesDir(null)
的文件中。我注意到在运行Android 2.2(API 8)的模拟器上,当安装新版本的应用程序时,此文件会被删除。共享首选项保持不变。在运行4.4.4的手机上,该文件也保持不变。我使用的是Android Studio。
我知道当APK的签名发生变化时,所有与应用程序相关的数据都必须删除 - 但这也会影响共享首选项,因此这不是这种情况。
有谁知道这是否正常?也许Android Studio如何重新安装APK?也许我需要设置文件创建功能中的标志?
答案 0 :(得分:0)
您看到的是expected/default behavior of getExternalFilesDir
:
"这就像getFilesDir()一样,这些文件将在卸载应用程序时被删除"
对于kitkat there has been changes related to this,因此可能会保留带有更新的文件。而不是更新,如果您在4.4.4上卸载应用程序,然后重新安装,它应该已删除该文件(如上面引用中所述的卸载的一部分)。
一般情况下,建议您在卸载应用时删除该文件,如果特定于您的应用(游戏状态/配置或统计信息)。因此,您可能不希望依赖或期望先前安装的文件。