Android清理应用程序是否在更新时缓存?

时间:2018-07-03 07:21:11

标签: android caching

在此document中,Google表示:

  

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

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

因为当我监视公司的应用程序时,/cache文件夹在每次发布时都会下降,并且用户会更新到新的应用程序版本。

我在手机上进行了测试,发现应用程序缓存确实减小了大小。但是我不确定所有设备是否都相同。

2 个答案:

答案 0 :(得分:3)

内部存储

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

外部存储空间

  • 公共文件:应可供其他应用和用户自由使用的文件。当用户卸载您的应用程序时,这些文件应保持对用户可用。
  • 私人文件:使用getExternalFilesDir()创建的文件正确地属于您的应用程序,并且在用户卸载您的应用程序时将被删除。

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

请注意,某些应用确实通过以下方式实现了自己的清理机制:

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

有关详细信息,请参见this

答案 1 :(得分:1)

  

卸载只会删除与   应用程序,将不会在外部存储中创建文件夹   卸载时删除。对于数据库,数据库将被删除   卸载时将保留,但保留用于更新的应用程序。

     

仍然在数据库上,取决于开发人员构建数据库的方式   应用程序,如果数据库版本发生更改,则可能存在   替换或完全删除数据库。

我还要添加一个链接,希望对您有所帮助; https://developer.android.com/training/data-storage/files

G,祝你好运。