Android 11.0 开机启动时PMS扫描apk耗时相关功能优化

1.前言

  在android11.0的系统rom定制化开发中,在系统中开发产品时,会根据客户要求内置第三方app,这时如果内置app过多,或者安装的app过多,在系统开机的过程中
在pms扫描安装app的时候,就会比较耗时,这时候就需要优化下pms扫描安装app这块的功能代码,用多线程来实现pms扫描安装app,来加快开机时间,接下来
来实现这个功能

2.开机启动时PMS扫描apk耗时相关功能优化的核心类

frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java

3.开机启动时PMS扫描apk耗时相关功能优化的核心功能分析和实现

在Android系统开机启动的时候,在开机阶段耗时较多的部分有2个,分别是preload classes和scan packages。而preload classes是在zygote阶段处理的工作,本章节不讨论这个问题,这里主要讨论的是在PMS阶段,扫描app的时候,耗时操作的处理

         private void scanDirTracedLI(File scanDir, final int parseFlags, int scanFlags, long currentTime) {
                   Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "scanDir [" + scanDir.getAbsolutePath() + "]");
                   try {
                       scanDirLI(scanDir

猜你喜欢

转载自blog.csdn.net/baidu_41666295/article/details/131293002