安卓更新时会清除应用缓存吗?

11

在这份文档中,Google表示:

当用户卸载您的应用程序时,系统会从内部存储中删除您的应用程序所有的文件。

但是当更新应用程序版本时(例如从v1.0到v1.1),它是否会自动清除应用程序缓存(或内部存储中的任何其他数据)?

因为当我监测我的公司的应用程序时,每次我们发布新的应用程序版本并且用户更新后,/cache文件夹都会出现下降趋势。

我在我的手机上进行了测试,并看到应用程序缓存确实减小了。但我不确定所有设备是否也有相同的情况。

2个回答

7

内部存储

当用户卸载您的应用时,系统会从内部存储中删除您的应用程序的所有文件。

外部存储

  • 公共文件:这些文件应该是其他应用程序和用户可以自由访问的。当用户卸载您的应用程序时,这些文件应仍然对用户可用。
  • 私有文件:使用getExternalFilesDir()创建并属于您的应用程序的文件,将在用户卸载您的应用程序时被删除。

是的,在用户卸载应用程序时会清除数据,但更新应用程序时不会

请注意,一些应用程序通过以下方式实现其自己的清理机制:

  • 使用BroadcastReceiver捕获android.intent.action.PACKAGE_REPLACED,然后触发清除某些特定数据。
  • 在时间间隔或某个文件夹大小达到其阈值/上限时运行cron作业以清除数据。

有关详细信息,请参见此处


经过检查,我最终发现此应用程序在达到100 MB 后会清除缓存。因此你的答案可能是正确的。谢谢。 - nhoxbypass

1
卸载只会删除应用程序内部捆绑的文件,但在外部存储器中创建的文件夹不会被删除。对于数据库,卸载时将删除数据库,但对于更新后的应用程序,数据库将保留。关于数据库,这取决于开发人员构建应用程序的方式,如果数据库版本有变化,则可以替换或完全删除数据库。
此外,我添加了一个链接,希望能帮到你: https://developer.android.com/training/data-storage/files 祝好运, G.

谢谢您的回答,我认为其他目录不会被删除,但我不确定应用程序缓存是否会被删除。因为我在手机上进行了一些测试,它减小了大小。 - nhoxbypass

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接