Android 8.0 PKMS新变化之多线程扫描APK

这里主要针对Android 8.0 在PKMS这块的新变化进行分析,会不断更新
如果发现有错误或者不到位的地方,请指出,谢谢!

回忆一下在Android 7.0是如何扫描APK的:

private PackageParser.Package scanPackageLI(File scanFile, int parseFlags, int scanFlags,
        long currentTime, UserHandle user) throws PackageManagerException {
    ......
    PackageParser pp = new PackageParser();
    ......
    final PackageParser.Package pkg;
    try {
        pkg = pp.parsePackage(scanFile, parseFlags);
    } 
    ......
    return scanPackageLI(pkg, scanFile, parseFlags, scanFlags, currentTime, user);
}

这样,如果在系统预置APK较多的情况下,必然会导致开机时间变慢
在之前的项目中,我们都是自己加一个简单的多线程来扫描APK
在阅读8.0的代码时发现,google已经为我们添加了这个功能,而且比之前的方案更高端,详细看看
private void scanDirLI(File dir, int parseFlags, int scanFlags, long currentTime)方法中:

private void scanDirLI(File dir, int parseFlags, int scanFla
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值