很想知道扫描垃圾文件的时候扫描的哪些文件,以及逻辑是如何处理的,求解答,做毕业设计,希望指导一下!
1条回答
- lbcab 2016-05-07 14: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本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 3无用
悬赏问题
- ¥65 永磁型步进电机PID算法
- ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
- ¥88 找成都本地经验丰富懂小程序开发的技术大咖
- ¥15 如何处理复杂数据表格的除法运算
- ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
- ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
- ¥15 latex怎么处理论文引理引用参考文献
- ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
- ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
- ¥15 乘性高斯噪声在深度学习网络中的应用