2 the spring the_spring 于 2016.05.07 21:48 提问

360手机卫士扫描垃圾文件怎么处理的

很想知道扫描垃圾文件的时候扫描的哪些文件,以及逻辑是如何处理的,求解答,做毕业设计,希望指导一下!

1个回答

lbcab
lbcab   2016.05.07 22:35
已采纳

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

the_spring
the_spring 回答的很详细,多谢!
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!