问题描述
- 360手机卫士扫描垃圾文件怎么处理的
-
很想知道扫描垃圾文件的时候扫描的哪些文件,以及逻辑是如何处理的,求解答,做毕业设计,希望指导一下!
解决方案
android 扫描的垃圾文件其实就是每个应用程序的缓存, android应用程序有一个接口getCacheDir(), 它返回的路径就是 /data/data/包名/cache/路径。
所以手机卫士垃圾清理就是清理的是每个应用程序这个目录下的文件。逻辑步骤为:
1. 先获取手机中的所有应用程序,getPackageManager().getInstalledPackages(), 然后判断那些应用有缓存, 你可以参考android系统中setting的
源代码
2. 清理应用程序缓存, 调用packgeManager中的方法deleteApplicationCacheFiles,清理指定应用程序的缓存, 注意此方法是隐藏的, 需使用反射来获取:
Method method = PackageManager.class.getMethod("deleteApplicationCacheFiles", String.class, IPackageDataObserver.class);
method.invoke(pm, "包名(需要清理缓存的程序包名)"); //pm为PackageManager
时间: 2024-08-31 19:29:24