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

这篇具有很好参考价值的文章主要介绍了Android 10.0 开机启动时PMS扫描apk耗时相关功能优化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.前言


  在android10.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的时候,耗时操作的处理文章来源地址https://www.toymoban.com/news/detail-444881.html

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

到了这里,关于Android 10.0 开机启动时PMS扫描apk耗时相关功能优化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android 10.0 Launcher 启动流程

    在前面SystemUI启动流程中说到,在SystemServer中会去启动各种系统服务,这里的launcher也是启动的其中一个服务ActivityManagerService去启动的。在android10之前,系统四大组件的启动都是在ActivityManagerService中,在android10中,单独抽出了一个ActivityTaskManagerService,主要负责Activity的管理和

    2024年02月04日
    浏览(36)
  • android开机自启动apk的方法

            在Android系统中,开机自启需要在系统启动时启动一个服务或应用程序。为了使应用程序成为开机自启应用程序,您需要完成以下步骤: 1 在应用程序的AndroidManifest.xml文件中,添加以下权限: 2 在应用程序的AndroidManifest.xml文件中,添加以下标记,表示您的应用程序

    2024年01月16日
    浏览(31)
  • Android 10.0 系统systemui下拉通知栏的通知布局相关源码分析

     在android10.0的系统rom开发中,在进行systemui中的下拉通知栏的布局自定义的时候,对于原生systemui的 系统的下拉通知栏的通知布局的了解也是非常重要的,接下来就来分析下相关的下拉通知栏的通知布局的相关 源码流程,了解这些才方便对通知栏的布局做修改   在10.0的系统

    2023年04月21日
    浏览(38)
  • Android 10.0 ota升级关于SettingsProvider新增和修改系统数据相关功能实现

      在10.0的系统rom定制化开发中,在进行ota升级的过程中,由于在SettingsProvider中新增了系统属性和修改某项系统属性值,但是在ota升级以后发现没有 更新,需要恢复出厂设置以后才会更改,但是恢复出厂设置 会丢掉一些数据,这是应为系统数据库没更新,所以需要在ota的时候

    2024年02月10日
    浏览(40)
  • 【Android12】Android Framework系列---Adb和PMS安装apk源码流程

    通过adb install命令可以将apk安装到Android系统(注意:特定类型的apk,比如persist类型是无法通过adb安装的) 下述命令中adb解析install命令,并调用Android PackageManagerService进行apk安装。 基于Android12,分析从adb install到 PakcageManagerService安装apk的流程。 adb install命令的源码实现 Andro

    2024年01月22日
    浏览(60)
  • 解决ubuntu开机变慢;删除耗时启动项

    windows+ubuntu双系统,其中ubuntu20安装在机械硬盘上。 使用一段时间后ubuntu20的开机时间变的很长,需要2分钟左右,而且开机后一段时间很卡顿。 经过本文解决后开机时间从2min减少到36s。 目录 1、过多开机启动项 2、snapd耗时 3、太多journal 1、 过多开机启动项 可以用以下命令来

    2024年02月05日
    浏览(66)
  • Android10开机自动启动应用的权限配置

    在android8.0之前的系统,native层编译的 二进制xxx.bin文件可以直接放到init.rc中当成一个service,放到on init标签中用start xxx 来运行,只要内核设备树中设置selinux权限为SELINUX_PERMISSIVE模式(调试模式),都可以正常运行,不会报错误。但是在android8.1之后,android的系统分区结构发生变

    2024年02月11日
    浏览(44)
  • 【Android Framework系列】第10章 PMS之Hook实现广播的调用

    前面章节我们学习了【Android Framework系列】第4章 PMS原理我们了解了PMS原理,【Android Framework系列】第9章 AMS之Hook实现登录页跳转我们知道AMS可以Hook拦截下来实现未注册Activity页面的跳转,本章节我们来尝试一下 HookPMS实现广播的发送 。 这里我们只简单介绍一下HookPMS思路和重

    2024年02月13日
    浏览(37)
  • Android 10.0 截屏流程

    Android 10.0版本在截屏方面做了一些改进和优化,使得截屏更加方便和高效。在Android 10.0版本中,可以使用多种方式实现截屏,其中包括使用系统快捷键、使用手势操作、调用API等。 Android 10.0版本中,截屏的流程大致如下: 触发截屏操作:用户可以通过系统快捷键或手势操作

    2024年02月09日
    浏览(72)
  • Android 10.0 Settings 加载流程

    一、系统设置首页 代码路径:packages/app/Settings/ 1 主界面加载: Settings的主界面是Settings.java,但是从Settings.java来看,除了大量的静态类继承SettingsActivity,就无其他有效信息了。但看其xml定义可以发现targetActivity属性,实质应是SettingsHomepageActivity.java。 先看其xml配置: SettingsH

    2024年02月05日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包