【发布时间】:2022-11-30 10:33:44
【问题描述】:
我需要以编程方式删除名为 MyXFApp 的 Xamarin.Forms 应用程序的所有缓存,方法与设置/应用程序/MyXFApp/存储页面的按钮“清除缓存”相同。
我阅读了Android和Xamarin.Forms的官方文档,并使用方法getGetCacheDir()和GetExternalCacheDir()来检索缓存目录,并将它们都删除了。 删除这两个目录后,我希望在 Setting/Apps/MyXFApp/Storage 页面中看到缓存大小为 0 字节。但是Setting/Apps/MyXFApp/Storage页面显示的cache size确实变小了,但不是严格等于0 byte,不明白为什么?
为了完全清除我的 Xamarin.Forms 缓存,我必须删除任何其他目录吗?还是 Setting/Apps/MyXFApp/Storage 显示缓存大小的错误?
否则,这两种方法之间的正确方法或区别是什么?
我试图删除从方法 get GetCacheDir() 和 GetExternalCacheDir() 获得的目录。 预计在 Setting/Apps/MyXFApp/Storage 页面中看到缓存大小为 0B,但我看到的是 20KB 而不是 0B。
【问题讨论】:
-
请添加到问题你的代码.我假设您试图删除一个包含子目录的目录,如果有子目录,则 API 调用会拒绝删除。 (我认为这样做是为了避免一个简单的编程错误意外删除大量数据。)您是否检查过删除调用是否成功?你后来检查过文件夹,看看里面还剩下什么吗?你必须递归删除目录,以便首先删除最里面的目录。见Android how to delete a whole folder and contents。
标签: xamarin.forms android-7.1-nougat android-8.1-oreo clear-cache