2014-11-04 95 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

相關問題