我的应用程序带有assets
资源(很多),raw
资源(一些)和用户在使用应用程序时创建的其他一些对象(包括SharedPreferences
).
当我安装新版本的应用程序时,我无法理解所有这些资源会发生什么。这些是被覆盖还是保持在以前的状态(如果是,我该如何更改)?
最佳答案
SharedPreferences
是未 bundle 在 APK 中的 xml 文件,而是在安装应用程序并使用 SharedPreferences API 时生成的文件。这些文件是在您的应用程序的数据文件夹中创建的,并且对应用程序是私有(private)的(除非您另外指定)。在应用程序更新期间,它们保持不变。删除/覆盖它们的唯一方法是通过以下方法之一:
a) 用户卸载/重新安装应用
b) 用户在系统设置的应用设置页面中清除存储(应用数据)
c) 您通过 SharedPreferences API 或通过备份/恢复 API 删除它们
资源随您的 apk(或应用程序包)一起提供。基本上 res/
文件夹中的所有内容。所以所有样式、字符串、drawable、assets等在安装后都被替换为新APK的res文件夹中的内容。
关于java - Android升级应用程序版本时资源会发生什么变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63286192/