2014-11-04 93 views
0

我保存游戏的当前状态,在位于getExternalFilesDir(null)文件删除。我注意到在运行Android 2.2(API 8)的模拟器上,当安装新版本的应用程序时,该文件被删除。共享首选项保持不变。在运行4.4.4的电话上,文件也保持不变。我正在使用Android Studio。安卓文件时,应用程序重新安装

我知道,当APK的签名的变化,属于该应用程序的所有数据已被删除 - 但是这也将影响共享偏好,使这里的情况并非如此。

有谁知道这是正常的行为?也许有关于Android Studio如何重新安装APK的设置?也许在我需要设置的文件创建功能中有一个标志?

回答

0
  • 你看到什么是expected/default behavior of getExternalFilesDir

    “这就像getFilesDir()中,当应用被卸载这些文件将被删除”

    对于kitkat there has been changes related to this ,所以它可能会保留更新的文件。取而代之的更新,如果卸载4.4.4上的应用程序,然后重新安装,它应该被删除的文件(如上面提到的报价卸载的一部分)。

  • 一般来说,建议您删除的文件,当您卸载该应用程序,如果具体到你的应用程序(游戏邦/ config或统计数据)。因此,您可能不希望依赖或期望以前安装的文件。

+0

确定。从描述中可以看出,KitKat的变化会产生这种效应。我认为它只与READ/WRITE EXTERNAL权限有关。如果程序被卸载,我希望这个文件被删除 - 因此将它放在getExternalFilesDir()中。我也希望用户能够访问它:如果发生崩溃,我希望他们能够向我发送最新的游戏保存。如果应用程序被重新安装,我希望保留这个文件,所以在KitKat中的行为是完美的。好吧。 – user1334767 2014-11-05 19:04:16

相关问题