Android 13.0 开机启动优化之PMS扫描apk耗时相关功能优化
1.前言
在android13.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 系统启动慢的原因就是在启动 PMS 的时候,
需要执行扫描文件夹、处理权限、安装系统应用(文件的解压与copy)等比较耗时的操作
在开机阶段耗时较多的部分有2个,分别是preload classes和scan packages。
而preload classes是在zygote阶段处理的工作,本章节不讨论这个问题,这里主要讨论的是在PMS阶段,
扫描app的时候,耗时操作的处理,在pms中的安装app的过程中,主要是执行
调用scanDirTracedLI方法扫描/data/app的文件夹,(scanDirTracedLI方法调用会从
PackageManagerService main方法一层层执行调用,接下来分析下具体执行过程
private相关文章:
Android 13.0 开机启动优化之PMS扫描apk耗时相关功能优化
1.前言 在android13.0的系统rom定制化开发中,在系统中开发产品时,会根据客户要求内置第三方app,这时如果内置app过多,或者安装的app过多,在系统开机的过程中 在pms扫描安装app的时候,就会比较耗时,这时候就需要优化下pms扫描安装app这块的功能代码,用多线程来实现pms扫…...
云蜜罐技术(德迅猎鹰)诞生
数字化程度高且高价值信息密集的行业,如金融、能源、互联网、政府、教育、医疗、军工等行业,面对日益规模化、专业化的网络攻击,渐渐不再满足于一味的防守加固。除了巩固防线之外,他们愈发看重主动出击、感知更大范围内的攻击&…...
ARM:汇编点灯
.text .global _start _start: 使能GPIOE和GPIOF的外设时钟 LDR R0,0x50000A28 指定寄存器地址 LDR R1,[R0] 将寄存器原来的数值读取出来,保存到R1中 ORR R1,R1,#(0x3<<4) 将第3/4位设置为1 STR R1,[R0] 将修改后的数值写回设置LED1亮 设置PE10为输出…...
69: 偷菜时间表(python)
收藏 难度:一般 标签:暂无标签 题目描述 随着“开心农场”等娱乐游戏风靡互联网,“偷菜”遂瞬间蹿红网络,席卷网民生活。 于是,“你‘偷’了吗”便成为大家见面的招呼语。很快,数百万都市白领成为“偷菜…...
【计算机视觉】三、图像处理——实验:图像去模糊和去噪、提取边缘特征
文章目录 0. 实验环境1. 理论基础1.1 滤波器(卷积核)1.2 PyTorch:卷积操作 2. 图像处理2.1 图像读取2.2 查看通道2.3 图像处理 3. 图像去模糊4. 图像去噪4.1 添加随机噪点4.2 图像去噪 0. 实验环境 本实验使用了PyTorch深度学习框架,相关操作…...
用css滤镜做颜色不同的数据卡片(背景图对于css滤镜的使用)
<template> <div class"xx_modal_maincon"><div class"xx_model_bt">履约起始日至计算日配额及履约情况</div><el-row><el-col :span"6"><div class"xx_modal_mod"><div class"mod…...
2024年第六届区块链与物联网国际会议(BIOTC 2024)即将召开!
2024年第六届区块链与物联网国际会议(简称:BIOTC 2024)将于2024 年 7 月 19 日至 21 日在日本福冈召开,旨在为来自行业、学术界和政府的研究人员、从业者和专业人士提供一个论坛,就研发区块链和物联网的专业实践进行交…...
Django动态路由实例
Django动态路由实例 先说需求: 比如我前端有两个按钮,点击按钮1跳转到user1的用户信息页面,按钮2跳转user2用户信息页面,但是他俩共用同一个视图层 直接上代码 路由层 urlpatterns [path(user/<str:username>/, views…...
基于Vue.js和D3.js的智能停车可视化系统
引言 随着物联网技术的发展,智能停车系统正逐渐普及。前端作为用户交互的主要界面,对于提供直观、实时的停车信息至关重要。 目录 引言 一、系统设计 二、代码实现 1. 环境准备 首先,确保您的开发环境已经安装了Node.js和npm。然后&…...
数据之王国:解析Facebook的大数据应用
引言 作为全球最大的社交媒体平台之一,Facebook拥有庞大的用户群体和海量的数据资源。这些数据不仅包括用户的个人信息和社交行为,还涵盖了广告点击、浏览记录等多方面内容。Facebook通过巧妙地利用这些数据,构建了强大的大数据应用系统&…...
前端小白的学习之路(ES6 一)
提示:关键字声明:let与const,长度单位:em与rem,vw与wh,解构赋值,箭头函数(简介) 目录 一、ES6介绍 二、let&const 1.let 1) 用 let 关键字声明的变量不能提前引用 2) 不允许重复声明变量 3) 可以产生块级作用…...
Linux CentOS 7.6安装Redis 6.2.6 详细保姆级教程
1、安装依赖 //检查是否有依赖 gcc -v //没有则安装 yum install -y gcc2、下载redis安装包 //进入home目录 cd /home //通过wget下载redis安装包 wget https://download.redis.io/releases/redis-6.2.6.tar.gz //解压安装包 tar -zxvf redis-6.2.6.tar.gz3、编译 //进入解压…...
Android 优化 - 数据结构
一、概念 数据结构:数据存储在内存中的顺序和位置关系,选择合适的数据结构能提高内存的利用率。 线性结构链表结构树形结构 二、线性结构 结构优点缺点数组数据呈线性排列,初始化时就要指定长度且无法更改,会开辟一块连续的内…...
Linux环境开发工具之vim
前言 上一期我们已经介绍了软件包管理器yum, 已经可以在linux上查找、安装、卸载软件了,本期我们来介绍一下文本编辑器vim。 本期内容介绍 什么是vim vim的常见的模式以及切换 vim命令模式常见的操作 vim底行模式常见的操作 解决普通用户无法执行sudo问…...
「Linux系列」Shell介绍及起步
文章目录 一、Shell简介二、Shell脚本三、Shell解释器四、相关链接 一、Shell简介 Shell本身是一个用C语言编写的程序,它既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计…...
用pdf2docx将PDF转换成word文档
pdf2docx是一个Python模块,可以将PDF文件转换为docx格式的Word文档。 pdf2docx模块基于Python的pdfminer和python-docx库开发,可以在Windows、Linux和Mac系统上运行。它可以从PDF文件中提取文本和图片,并将其转换成可编辑的Word文档…...
STM32U5 ADC 自校准不成功的问题分析
1、引言 很多 STM32 系列中的 ADC 都带有自校准的功能。它提供了一个自动校准的过程,用于驱动包括 ADC 上电/掉电序列在内的所有校准动作。在这个过程中,ADC 计算出一个校准因子,并在内部应用到此 ADC 模块,直到下一次 ADC 掉电。…...
使用光标精灵更换电脑鼠标光标样式,一键安装使用
想要让自己在使用电脑时更具个性化,让工作和娱乐更加愉快,改变你的电脑指针光标皮肤可能是一个简单而有效的方法。很多人或许并不清楚如何轻松地调整电脑光标样式,下面我就来分享一种简单的方法。 电脑光标在系统里通常只有几种默认图案&…...
微服务day04(上)-- RabbitMQ学习与入门
1.初识MQ 1.1.同步和异步通讯 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应。 异步通讯:就像发邮件,不需要马上回复。 两种方式各有优劣,打电话可以立即得到响应,但…...
Halcon 3D 平面拟合(区域采样、Z值过滤、平面拟合、平面移动)
Halcon 3D 平面拟合(区域采样、Z值过滤、平面拟合、平面移动) 链接:https://pan.baidu.com/s/1UfFyZ6y-EFq9jy0T_DTJGA 提取码:ewdi * 1.读取图片 ****************...
别再死记硬背链式法则了!用一张图+三个例子彻底搞懂多元复合函数求导
多元复合函数求导:用计算图破解链式法则的思维困局 第一次看到多元复合函数的链式法则时,大多数人的反应都是"这公式怎么长得像化学方程式"。当教科书上突然抛出$\frac{\partial z}{\partial s}\frac{\partial z}{\partial x}\frac{\partial x…...
别再手动编译了!用Maven的annotationProcessorPaths一键搞定自定义注解处理器
别再手动编译了!用Maven的annotationProcessorPaths一键搞定自定义注解处理器 每次修改完代码都要手动执行额外编译步骤?团队内部开发的注解处理器总是无法像Lombok那样自动触发代码生成?这可能是大多数Java开发者在使用自定义注解处理器时遇…...
【限时开放】SITS2026内部生成模型微调手册泄露版:3类业务场景Prompt工程模板+12个生产环境Guardrail规则(仅剩87份)
第一章:SITS2026案例:AI云原生代码生成 2026奇点智能技术大会(https://ml-summit.org) 场景背景与架构演进 SITS2026项目是面向金融合规审计场景的AI增强型云原生平台,其核心能力在于实时将自然语言审计需求(如“生成符合GDPR第…...
从‘强组合定理’到‘Moments Accountant’:搞懂差分隐私深度学习中那点‘隐私预算’是怎么省下来的
从‘强组合定理’到‘Moments Accountant’:差分隐私深度学习的隐私预算优化之道 在深度学习模型训练过程中,数据隐私保护已成为不可忽视的核心议题。差分隐私(Differential Privacy)作为当前最受认可的隐私保护框架,通…...
别再死记硬背LLC公式了!用这个仿真模型,手把手带你理解谐振腔的感性区与容性区
别再死记硬背LLC公式了!用这个仿真模型,手把手带你理解谐振腔的感性区与容性区 在电源设计领域,LLC谐振变换器因其高效率特性广受青睐,但许多工程师在实际调试中常陷入公式推导的泥潭。本文将通过LTspice仿真,带您直观…...
AEUX插件完全指南:从设计到动效的无缝转换
AEUX插件完全指南:从设计到动效的无缝转换 【免费下载链接】AEUX Editable After Effects layers from Sketch artboards 项目地址: https://gitcode.com/gh_mirrors/ae/AEUX AEUX是一款革命性的设计到动画转换工具,它架起了Figma、Sketch等设计工…...
避开KNX数据库‘未注册’坑:从零到ETS测试的完整流程与认证内幕
避开KNX数据库“未注册”陷阱:从开发到认证的全链路指南 当你兴奋地将自研KNX设备数据库导入ETS时,那个刺眼的"未注册"提示就像一盆冷水——这可能是每个KNX开发者都会经历的"成人礼"。但别急着关闭软件,这个红色标记背后…...
OAI 5G NR + USRP B210:从零搭建低成本开源5G实验平台
1. 为什么选择OAI和USRP B210搭建5G实验平台 第一次接触5G实验平台搭建时,我也被高昂的设备成本吓退过。直到发现OAI(OpenAirInterface)这个开源项目,配合USRP B210这套性价比极高的硬件,才算找到了可行的解决方案。这…...
【奇点2026白皮书核心章节】:为什么83.6%的AI合并失败源于AST抽象层级错配?附可审计的合并决策树V2.1模板
第一章:AST抽象层级错配:AI代码合并失败的根因解构 2026奇点智能技术大会(https://ml-summit.org) AST(Abstract Syntax Tree)是现代AI代码工具理解、生成与重构程序的核心中间表示。然而,当多个AI代理协同执行代码合…...
Godot 2D碰撞体实战:从FlappyBird看RigidBody2D与StaticBody2D的碰撞艺术
1. 从FlappyBird看Godot碰撞体的核心价值 第一次打开Godot引擎时,我被它简洁的节点系统吸引,但真正让我着迷的是它精妙的物理碰撞系统。记得三年前我尝试复刻FlappyBird时,小鸟明明还没碰到水管游戏就结束了,这种"幽灵碰撞&q…...
