CN117055907A - 安装包管理方法、装置、终端设备以及存储介质 - Google Patents
安装包管理方法、装置、终端设备以及存储介质 Download PDFInfo
- Publication number
- CN117055907A CN117055907A CN202311024483.4A CN202311024483A CN117055907A CN 117055907 A CN117055907 A CN 117055907A CN 202311024483 A CN202311024483 A CN 202311024483A CN 117055907 A CN117055907 A CN 117055907A
- Authority
- CN
- China
- Prior art keywords
- installation package
- resource
- picture
- resource files
- file configuration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000009434 installation Methods 0.000 title claims abstract description 233
- 238000000034 method Methods 0.000 title claims description 46
- 238000007726 management method Methods 0.000 claims abstract description 52
- 230000006835 compression Effects 0.000 claims description 18
- 238000007906 compression Methods 0.000 claims description 18
- 238000012795 verification Methods 0.000 claims description 15
- 238000012360 testing method Methods 0.000 claims description 14
- 238000004806 packaging method and process Methods 0.000 claims description 9
- 238000004088 simulation Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 22
- 230000006870 function Effects 0.000 description 9
- 230000008707 rearrangement Effects 0.000 description 7
- 238000005457 optimization Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种安装包管理方法、装置、终端设备以及存储介质,其安装包管理方法包括:获取应用程序的初始安装包以及符合启动时刻条件的文件配置,初始安装包包括若干资源文件;根据文件配置,对若干资源文件进行重新布局,得到目标安装包。基于本申请方案,通过获取应用程序初始安装包以及符合启动时刻条件的文件配置,可以基于文件配置,对初始安装包中的资源文件进行重新布局,使得在启动时刻可以优先加载所需的资源文件,有效改善了资源文件的排布与冷启动中资源加载顺序的一致性和连续性,解决了安装包中资源文件的一致性和连续性差的技术问题,进而提升资源加载的效率。
Description
技术领域
本申请涉及移动应用开发和软件工程技术领域,尤其涉及一种安装包管理方法、装置、终端设备以及存储介质。
背景技术
随着应用程序(Application,App)功能的持续迭代增多,为了优化资源加载和操作系统的运行速度,开发者通常会将应用程序的资源文件(Apk资源文件)打包为安装包,通过安装包加载必需的资源文件。
但是,一方面,资源文件默认随机排布在磁盘目录中,与冷启动过程中的资源加载顺序不一致,系统需要耗费更多的时间去查找启动时必需加载的资源,造成启动阶段及部分核心链路上性能差;且资源默认排序缺乏连续性,导致文件加载过程中缓存的命中率较低,触发多次文件IO,拖慢启动速度。
是以,有必要提出一种改善应用程序安装包中资源文件的一致性和连续性的方案。
发明内容
本申请的主要目的在于提供一种安装包管理方法、装置、终端设备以及存储介质,旨在解决安装包中资源文件的一致性和连续性差的技术问题,有效提升资源加载的效率。
为实现上述目的,本申请提供一种安装包管理方法,所述安装包管理方法包括:
获取应用程序的初始安装包以及符合启动时刻条件的文件配置,所述初始安装包包括若干资源文件;
根据所述文件配置,对所述若干资源文件进行重新布局,得到目标安装包。
可选地,所述根据所述文件配置,对所述若干资源文件进行重新布局,得到目标安装包的步骤包括:
根据所述文件配置,确定所述若干资源文件各自对应的优先级;
根据所述若干资源文件各自对应的优先级,对所述若干资源文件进行有序重排,得到布局后的若干资源文件;
对所述布局后的若干资源文件进行打包,得到所述目标安装包。
可选地,所述获取应用程序的初始安装包的步骤包括:
运行预设压缩插件来获取所述若干资源文件中的第一图片资源;
在检测到所述第一图片资源满足预设图片格式时,对所述第一图片资源进行压缩,生成所述初始安装包。
可选地,所述对所述第一图片资源进行压缩,生成所述初始安装包的步骤包括:
压缩所述第一图片资源,得到压缩后的第二图片资源;
分别获取所述第一图片资源的体积和所述第二图片资源的体积,判断所述第二图片资源的体积是否小于所述第一图片资源的体积;
若所述第二图片资源的体积小于所述第一图片资源的体积,则删除所述第一图片资源,并基于所述第二图片资源生成所述初始安装包;
若所述第二图片资源的体积不小于所述第一图片资源的体积,则删除所述第二图片资源,并基于所述第一图片资源生成所述初始安装包。
可选地,所述获取应用程序的初始安装包以及符合启动时刻条件的文件配置的步骤之前,还包括:
在所述应用程序冷启动时,捕捉对应的启动操作;
根据所述启动操作,确定所述文件配置。
可选地,所述根据所述文件配置,对所述若干资源文件进行重新布局,得到目标安装包的步骤之后,还包括:
针对所述目标安装包,进行冷启动模拟,得到冷启动时长;
在所述冷启动时长不满足预设测试条件时,返回执行所述在所述应用程序冷启动时,捕捉对应的启动操作以及之后的步骤;
以此循环,直到所述冷启动时长符合预设测试条件,得到优化后的目标安装包。
可选地,所述根据所述文件配置,对所述若干资源文件进行重新布局,得到目标安装包的步骤之后包括:
对所述目标安装包进行多维度校验,得到校验结果。
本申请实施例还提出一种安装包管理装置,所述安装包管理装置包括:
获取模块,用于获取应用程序的初始安装包以及符合启动时刻条件的文件配置,所述初始安装包包括若干资源文件;
布局模块,用于根据所述文件配置,对所述若干资源文件进行重新布局,得到目标安装包。
本申请实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的安装包管理程序,所述安装包管理程序被所述处理器执行时实现如上所述的安装包管理方法的步骤。
本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有安装包管理程序,所述安装包管理程序被处理器执行时实现如上所述的安装包管理方法的步骤。
本申请实施例提出的安装包管理方法、装置、终端设备以及存储介质,通过获取应用程序的初始安装包以及符合启动时刻条件的文件配置,所述初始安装包包括若干资源文件;根据所述文件配置,对所述若干资源文件进行重新布局,得到目标安装包。基于本申请方案,通过获取应用程序初始安装包以及符合启动时刻条件的文件配置,可以基于文件配置,对初始安装包中的资源文件进行重新布局,使得在启动时刻可以优先加载所需的资源文件,有效改善了资源文件的排布与冷启动中资源加载顺序的一致性和连续性,解决了安装包中资源文件的一致性和连续性差的技术问题,进而提升资源加载的效率。
附图说明
图1为本申请安装包管理装置所属终端设备的功能模块示意图;
图2为本申请安装包管理方法第一示例性实施例的流程示意图;
图3为本申请安装包管理方法第二示例性实施例的流程示意图;
图4为本申请安装包管理方法第三示例性实施例的流程示意图;
图5为本申请安装包管理方法的图片资源自动化压缩流程图;
图6为本申请安装包管理方法第四示例性实施例的流程示意图;
图7为本申请安装包管理方法的应用程序安装包深度优化框架图;
图8为本申请安装包管理方法的安装包资源有序重排流程图;
图9为本申请安装包管理方法第五示例性实施例的流程示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例的主要解决方案是:获取应用程序的初始安装包以及符合启动时刻条件的文件配置,所述初始安装包包括若干资源文件;根据所述文件配置,对所述若干资源文件进行重新布局,得到目标安装包。基于本申请方案,通过获取应用程序初始安装包以及符合启动时刻条件的文件配置,可以基于文件配置,对初始安装包中的资源文件进行重新布局,使得在启动时刻可以优先加载所需的资源文件,有效改善了资源文件的排布与冷启动中资源加载顺序的一致性和连续性,解决了安装包中资源文件的一致性和连续性差的技术问题,进而提升资源加载的效率。
本申请涉及的技术术语:
Apk资源文件,是Android应用程序安装包(Apk文件)中的一部分,其中包含应用程序在运行时所需的各种资源,如图片、布局、字符串、样式等。Apk资源文件用于构建应用程序的用户界面、功能。
本申请实施例考虑到,针对安装包的优化管理这一问题,随着App功能的持续迭代增多,安装包的体积和App性能问题愈加备受关注,大量的图片资源经过压缩可适当减少安装包体积的大小,安装包内的资源排序则直接影响App启动速度。现有的技术手段对这两个问题的处理存在以下弊端:
一、人工压缩图片的缺点:
人工压缩图片需要耗费时间和精力,对于一个拥有海量图片资源的工程来说,效率极低;人工压缩需要花费大量的人力资源来处理,花费大量人力资源成本;由于图片资源文件数量庞大且经常性新增,人工压缩容易造成遗漏、错漏,且有过度压缩或者误删图片的风险。
二、资源默认排序的缺点:
资源默认是随机排布在磁盘目录中,是杂乱无章的,与冷启动过程中资源加载顺序不一致,需要耗费更多的时间去查找启动必需加载的资源,造成启动阶段及部分核心链路上性能不理想;资源默认排序缺乏连续性,导致文件加载过程中缓存的命中率较低,触发多次文件IO,拖慢启动速度。
因此,本申请实施例方案,从应用程序安装包优化管理的实际问题出发,设计一种Android版应用程序安装包深度优化方法,结合对图片资源自动编译压缩和自动化编译构建,可以降低安装包体积,实现了对Apk安装包的瘦身优化,同时节省了手工压缩资源操作成本;此外,通过对Apk资源文件进行有序重排,将启动阶段需要用到的资源文件排布在Apk包的起始位置,加快了App冷启动速度。
具体地,参照图1,图1为本申请安装包管理装置所属终端设备的功能模块示意图。该安装包管理装置可以为独立于终端设备的、能够进行安装包管理的装置,其可以通过硬件或软件的形式承载于终端设备上。该终端设备可以为手机、平板电脑等具有数据处理功能的智能移动终端,还可以为具有数据处理功能的固定终端设备或服务器等。
在本实施例中,该安装包管理装置所属终端设备至少包括输出模块110、处理器120、存储器130以及通信模块140。
存储器130中存储有操作系统以及安装包管理程序,安装包管理装置可以将获取的应用程序的初始安装包以及符合启动时刻条件的文件配置;根据文件配置,对若干资源文件进行重新布局,得到的目标安装包等信息存储于该存储器130中;输出模块110可为显示屏等。通信模块140可以包括WIFI模块、移动通信模块以及蓝牙模块等,通过通信模块140与外部设备或服务器进行通信。
其中,存储器130中的安装包管理程序被处理器执行时实现以下步骤:
获取应用程序的初始安装包以及符合启动时刻条件的文件配置,所述初始安装包包括若干资源文件;
根据所述文件配置,对所述若干资源文件进行重新布局,得到目标安装包。
进一步地,存储器130中的安装包管理程序被处理器执行时还实现以下步骤:
根据所述文件配置,确定所述若干资源文件各自对应的优先级;
根据所述若干资源文件各自对应的优先级,对所述若干资源文件进行有序重排,得到布局后的若干资源文件;
对所述布局后的若干资源文件进行打包,得到所述目标安装包。
进一步地,存储器130中的安装包管理程序被处理器执行时还实现以下步骤:
运行预设压缩插件来获取所述若干资源文件中的第一图片资源;
在检测到所述第一图片资源满足预设图片格式时,对所述第一图片资源进行压缩,生成所述初始安装包。
进一步地,存储器130中的安装包管理程序被处理器执行时还实现以下步骤:
压缩所述第一图片资源,得到压缩后的第二图片资源;
分别获取所述第一图片资源的体积和所述第二图片资源的体积,判断所述第二图片资源的体积是否小于所述第一图片资源的体积;
若所述第二图片资源的体积小于所述第一图片资源的体积,则删除所述第一图片资源,并基于所述第二图片资源生成所述初始安装包;
若所述第二图片资源的体积不小于所述第一图片资源的体积,则删除所述第二图片资源,并基于所述第一图片资源生成所述初始安装包。
进一步地,存储器130中的安装包管理程序被处理器执行时还实现以下步骤:
在所述应用程序冷启动时,捕捉对应的启动操作;
根据所述启动操作,确定所述文件配置。
进一步地,存储器130中的安装包管理程序被处理器执行时还实现以下步骤:
针对所述目标安装包,进行冷启动模拟,得到冷启动时长;
在所述冷启动时长不满足预设测试条件时,返回执行所述在所述应用程序冷启动时,捕捉对应的启动操作以及之后的步骤;
以此循环,直到所述冷启动时长符合预设测试条件,得到优化后的目标安装包。
进一步地,存储器130中的安装包管理程序被处理器执行时还实现以下步骤:
对所述目标安装包进行多维度校验,得到校验结果。
本实施例通过上述方案,具体通过获取应用程序的初始安装包以及符合启动时刻条件的文件配置,所述初始安装包包括若干资源文件;根据所述文件配置,对所述若干资源文件进行重新布局,得到目标安装包。基于本申请方案,通过获取应用程序初始安装包以及符合启动时刻条件的文件配置,可以基于文件配置,对初始安装包中的资源文件进行重新布局,使得在启动时刻可以优先加载所需的资源文件,有效改善了资源文件的排布与冷启动中资源加载顺序的一致性和连续性,解决了安装包中资源文件的一致性和连续性差的技术问题,进而提升资源加载的效率。
基于上述终端设备架构但不限于上述架构,提出本申请方法实施例。
参照图2,图2为本申请安装包管理方法第一示例性实施例的流程示意图。所述安装包管理方法包括:
步骤S210,获取应用程序的初始安装包以及符合启动时刻条件的文件配置,所述初始安装包包括若干资源文件;
本实施例方法的执行主体可以是一种安装包管理装置,也可以是一种安装包管理终端设备或服务器,本实施例以安装包管理装置进行举例,该安装包管理装置可以集成在具有数据处理功能的智能手机、平板电脑等终端设备上。
本实施例方案主要实现对应用程序的安装包尤其是安装包的优化管理,解决安装包中资源文件的一致性和连续性差的技术问题,进而提升资源加载的效率。
具体地,初始应用程序安装包可以是通过常规打包操作得到,包括应用程序的各种资源文件,如图片、布局、文本等。此外,还可以获得一个文件配置,文件配置可以列出在启动时刻需要加载的资源文件。
步骤S220,根据所述文件配置,对所述若干资源文件进行重新布局,得到目标安装包。
具体地,本申请实施例考虑到资源文件是构建应用的核心元素,但是资源默认是随机排布在磁盘目录中,与冷启动过程中资源加载顺序不一致,需要耗费更多的时间去查找启动必需加载的资源,造成启动阶段及部分核心链路上性能不理想;且资源默认排序缺乏连续性,导致文件加载过程中缓存的命中率较低,触发多次文件IO,拖慢启动速度。
因此,本申请实施例通过Apk资源文件的有序重排代替了系统默认的资源排序策略,也即,根据所获得的文件配置,可以重新排列初始安装包中的资源文件的存放位置,使得可以将启动时刻所需的关键资源文件放置在更易于访问的位置。
在经过重新布局资源文件的过程后,得到的目标安装包相比初始安装包,更加优化,使得启动时所需的关键资源能够更迅速地加载,进而带来更快的启动速度。
本实施例通过上述方案,具体通过获取应用程序的初始安装包以及符合启动时刻条件的文件配置,所述初始安装包包括若干资源文件;根据所述文件配置,对所述若干资源文件进行重新布局,得到目标安装包。基于本申请方案,通过获取应用程序初始安装包以及符合启动时刻条件的文件配置,可以基于文件配置,对初始安装包中的资源文件进行重新布局,使得在启动时刻可以优先加载所需的资源文件,有效改善了资源文件的排布与冷启动中资源加载顺序的一致性和连续性,解决了安装包中资源文件的一致性和连续性差的技术问题,进而提升资源加载的效率。
参照图3,图3为本申请安装包管理方法第二示例性实施例的流程示意图。基于上述图2所示的实施例,步骤S220,根据所述文件配置,对所述若干资源文件进行重新布局,得到目标安装包,包括:
步骤S310,根据所述文件配置,确定所述若干资源文件各自对应的优先级;
具体地,根据文件的重要性和在启动时刻的需求,为每个资源文件分配一个优先级,可以使得在重新布局时,按照优先级的顺序来排列资源文件的存放位置和顺序。
其中,可以结合资源文件的格式、存放位置、启动时刻、依赖关系中的一种或多种来确定优先级,以实现最佳的性能提升。
步骤S320,根据所述若干资源文件各自对应的优先级,对所述若干资源文件进行有序重排,得到布局后的若干资源文件;
具体地,为了应用程序启动时所需的资源文件在物理存储上更加连续,减少磁盘访问的延迟,从而降低寻找资源的时间成本,通过明确区分资源文件的优先级,可以集中优化对启动过程至关重要的资源,将符合启动时刻条件的资源文件的位置调整到初始安装包的起始位置,从而缩短启动时间。例如,启动画面、应用图标等。
其中,作为一种实施方案,安装包可以是一个归档文件,其中包含了应用程序的各种组件,如代码文件、资源文件、配置文件等。安装包的起始位置可以指的是这个归档文件内部排序的起始位置。文件结构中的每个组件都会按照一定的顺序排列,这种排列方式可以影响应用程序在加载和运行时的性能。
作为另一种实施方案,安装包的起始位置可以是安装包内部的一个固定点,也即安装包文件的开头或起始处。在安装包(如APK文件)中,各种资源文件、代码、配置等内容按照一定的结构被打包和存储。安装包的起始位置是指这个打包结构中的最初部分。在移动应用的安装包中,通常有一个文件头或标识区域,用来标识文件类型、版本信息等。在这之后,会依次存储各种资源文件和数据。安装包的起始位置通常包含了一些必要的信息,系统可以通过这些信息来识别和解析整个安装包的结构。
作为又一种实施方案,安装包的起始位置可以是指安装包中的资源和文件按照逻辑关系进行排布,例如根据资源的类型、功能或者使用频率进行分组。
步骤S330,对所述布局后的若干资源文件进行打包,得到所述目标安装包。
具体地,资源文件按照优先级重新排序并进行打包,得到目标安装包,相对于初始安装包,在资源加载性能上有所提升,可以实现启动时的高效加载。
本实施例通过上述方案,具体通过优先级分配和物理排布的优化,可以在启动阶段有效地提升应用程序的性能,减少启动时间,有效改善安装包中资源文件的一致性和连续性差的技术问题,提升应用程序的启动速度。
参照图4,图4为本申请安装包管理方法第三示例性实施例的流程示意图。基于上述图2所示的实施例,步骤S210,获取应用程序的初始安装包,包括:
步骤S410,运行预设压缩插件来获取所述若干资源文件中的第一图片资源;
具体地,第一图片资源为若干资源文件各自包含的初始图片资源,第一图片资源可以有一张或以上。通过采用压缩插件来获取工程中若干资源文件中的多个图片资源,并对每个资源文件中的图片资源进行检测,来确定图片资源是否满足预设的图片格式,可以筛选得到指定格式的图片资源。
步骤S420,在检测到所述第一图片资源满足预设图片格式时,对所述第一图片资源进行压缩,生成所述初始安装包。
具体地,针对每一图片资源来说,如果检测到当前图片资源满足预设的图片格式要求,则对当前图片进行压缩处理。将经过压缩的图片资源和其他资源文件一起,可以构建一个初始安装包。
进一步地,步骤S420,对所述第一图片资源进行压缩,生成所述初始安装包,包括:
步骤S421,压缩所述第一图片资源,得到压缩后的第二图片资源;
具体地,针对每个资源文件中的图片资源进行压缩处理,压缩后的图片资源将生成一个新的版本,也即第二图片资源。
步骤S422,分别获取所述第一图片资源的体积和所述第二图片资源的体积,判断所述第二图片资源的体积是否小于所述第一图片资源的体积;
具体地,为了降低初始安装包的存储成本,通过计算压缩后的第二图片资源和原始的第一图片资源的文件体积,并检测第二图片资源是否在体积上经过压缩而变小。
步骤S423,若所述第二图片资源的体积小于所述第一图片资源的体积,则删除所述第一图片资源,并基于所述第二图片资源生成所述初始安装包;
具体地,如果发现压缩后的第二图片资源的体积小于原始第一图片资源的体积,那么可以认为压缩效果是积极的。在这种情况下,可以删除原始的第一图片资源,因为经过压缩的第二图片资源已经在体积和性能上优于原始资源,进而结合压缩过的第二图片资源以及除压缩过的第二图片资源之外的其他资源文件进行打包,生成初始安装包。
步骤S424,若所述第二图片资源的体积不小于所述第一图片资源的体积,则删除所述第二图片资源,并基于所述第一图片资源生成所述初始安装包。
具体地,如果发现经过压缩的第二图片资源的体积不小于原始第一图片资源的体积,那么压缩效果可能不明显或者没有达到预期的优化效果。在这种情况下,为了避免引入不必要的压缩结果,将删除经过压缩的第二图片资源,进而结合原始的第一图片资源以及除原始的第一图片资源之外的其他资源文件进行打包,生成初始安装包。
参照图5,图5为本申请安装包管理方法的图片资源自动化压缩流程图,示例性地,具体实现步骤可以如下:
首先,在编译构建流程中插入webp转换任务;读取白名单配置参数,过滤无需转换压缩的图片;获取工程中的图片资源;对图片格式进行检查,非指定的图片格式不进行压缩转换;对图片进行压缩;检查压缩后图片的体积大小,如果图片转换后体积变小则删除压缩前的图片,反之如果转换后的图片体积变大则删除压缩后的图片;最后结束编译。
本实施例通过上述方案,具体通过压缩图片资源,可以在保持图像质量的前提下,减少资源文件的大小,加快应用的下载和安装速度,同时减少用户设备上的存储占用;此外,通过比较压缩后图片资源的体积,判断压缩是否有效,从而决定保留哪个版本的图片,可以在资源文件的体积和质量之间取得平衡,以实现更好的性能。
参照图6,图6为本申请安装包管理方法第四示例性实施例的流程示意图。基于上述图2、图3、图4所示的实施例,步骤S210,获取应用程序的初始安装包以及符合启动时刻条件的文件配置之前,还包括:
步骤S610,在所述应用程序冷启动时,捕捉对应的启动操作;
具体地,冷启动可以是指用户打开应用程序时,应用程序从初始状态开始加载并执行各种操作的过程。其中,开发人员可以使用特定的技术或方法,预先嵌入到应用程序中,以捕捉在冷启动过程中发生的各种操作。这些操作可以包括加载界面、初始化数据、请求网络等。例如,可以通过Hook技术统计启动时刻所需的资源文件。
步骤S620,根据所述启动操作,确定所述文件配置。
具体地,基于捕捉到的启动操作,可以分析在启动过程中所涉及的操作步骤。根据这些操作的执行顺序和优先级,可以得到文件配置,其中,文件配置是一个列表,包括了在启动时需要加载的资源文件、图片、数据等。
进一步地,步骤S220,根据所述文件配置,对所述若干资源文件进行重新布局,得到目标安装包之后,还包括:
步骤S630,针对所述目标安装包,进行冷启动模拟,得到冷启动时长;
具体地,在得到文件重布局的目标安装包之后,系统可以自动化对目标安装包进行冷启动模拟,也即,模拟用户首次打开应用程序的情况。通过模拟冷启动,可以记录下冷启动过程所需的时间,得到冷启动时长。
步骤S640,在所述冷启动时长不满足预设测试条件时,返回执行所述在所述应用程序冷启动时,捕捉对应的启动操作以及之后的步骤;
步骤S650,以此循环,直到所述冷启动时长符合预设测试条件,得到优化后的目标安装包。
具体地,测试条件可以是加载时长阈值。如果冷启动时长超过了预设的测试条件,也即目标安装包的启动时间较长,可以返回至步骤S610以及之后的步骤,依次执行步骤S610、步骤S620、步骤S210、步骤S220、步骤S630、步骤S640,来重新捕捉应用程序启动时的操作,得到文件配置并根据该文件配置对该目标安装包进行重新布局,也即,通过回归测试来分析冷启动延迟的原因,并不断循环测试、捕捉和优化,直到冷启动时长达到预设的测试条件为止,可以得到最优化的目标安装包。
参照图7和图8,图7为本申请安装包管理方法的应用程序安装包深度优化框架图。图8为本申请安装包管理方法的安装包资源有序重排流程图。
示例性地,本申请实施例的资源有序重排模块通过对文件资源重新布局,将App启动阶段需要用到的文件按照指定的文件序列排布在Apk安装包的起始位置,利用文件缓存机制尽可能多的读取启动阶段需要的文件,减少磁盘IO次数,提升启动性能。具体过程如下:
首先,冷启动App时通过Hook统计启动时刻的资源文件;基于启动时刻需要的资源文件,来形成固定版本所对应的文件配置;编译构建完成常规打包操作,形成Apk安装包文件;根据文件列表配置对Apk进行资源优化重排,完成Apk的文件重布局,对重新布局后的资源文件进行打包和签名;对重新布局后的新Apk包,进行必要的校验防止调整包后内容出错;通过线下模拟冷启动,精准测量文件重新布局前后冷启动时间趋势变化,不断进行回归测试。
本实施例通过上述方案,具体通过捕捉和分析冷启动过程中的操作,他们可以精确地确定在启动时需要加载的资源,避免了不必要的资源加载,从而提高了冷启动速度和用户体验。此外,通过模拟冷启动、捕捉启动操作和不断优化,逐步缩短应用程序的冷启动时长。这可以显著提升用户体验,让用户更快地进入应用程序,减少等待时间。
参照图9,图9为本申请安装包管理方法第五示例性实施例的流程示意图。基于上述图2所示的实施例,步骤S220,对所述布局后的若干资源文件进行打包,得到所述目标安装包的步骤包括:
步骤S910,对所述目标安装包进行多维度校验,得到校验结果。
具体地,对目标安装包进行一系列多维度的校验操作,以确保应用程序的完整性、安全性和合规性。多维度校验可以涵盖了应用程序的各个方面,以多种方式验证应用程序的质量和可信性。
其中,多维度校验可以包括以下维度:
数字签名验证:验证应用程序的数字签名,确保应用来自可信的发布者,并未被篡改;文件完整性检查:检查应用程序的文件是否完整,防止在传输或存储过程中发生损坏或篡改;权限要求:校验应用程序所请求的权限是否与其功能和特性相符,防止滥用用户权限;版本一致性:确认应用程序的版本号与实际应用的版本一致;合规性检查:检查应用程序是否遵循相关法规、政策和规范;恶意行为检测:检测应用程序是否含有恶意行为、违规代码或安全漏洞;功能验证:校验应用程序的功能是否正常运行,是否符合预期的行为;数据隐私保护:确保应用程序在处理用户数据时符合隐私保护的要求,不会泄露敏感信息。
本实施例通过上述方案,具体通过对目标安装包进行多维度校验,可以获得一个综合性的校验结果,这种校验可以使得应用程序在各个方面都符合预期标准,如果校验结果显示应用程序存在问题,则可以针对问题采取相应的修复措施,来提升应用的质量和安全性。
此外,本申请实施例还提出一种安装包管理装置,所述安装包管理装置包括:
获取模块,用于获取应用程序的初始安装包以及符合启动时刻条件的文件配置,所述初始安装包包括若干资源文件;
布局模块,用于根据所述文件配置,对所述若干资源文件进行重新布局,得到目标安装包。
本实施例实现安装包管理的原理及实施过程,请参照上述各实施例,在此不再赘述。
此外,本申请实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的安装包管理程序,所述安装包管理程序被所述处理器执行时实现如上所述的安装包管理方法的步骤。
由于本安装包管理程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
此外,本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有安装包管理程序,所述安装包管理程序被处理器执行时实现如上所述的安装包管理方法的步骤。
由于本安装包管理程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
相比现有技术,本申请实施例提出的安装包管理方法、装置、终端设备以及存储介质,通过获取应用程序的初始安装包以及符合启动时刻条件的文件配置,所述初始安装包包括若干资源文件;根据所述文件配置,对所述若干资源文件进行重新布局,得到目标安装包。基于本申请方案,通过获取应用程序初始安装包以及符合启动时刻条件的文件配置,可以基于文件配置,对初始安装包中的资源文件进行重新布局,使得在启动时刻可以优先加载所需的资源文件,有效改善了资源文件的排布与冷启动中资源加载顺序的一致性和连续性,解决了安装包中资源文件的一致性和连续性差的技术问题,进而提升资源加载的效率。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本申请每个实施例的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种安装包管理方法,其特征在于,所述安装包管理方法包括以下步骤:
获取应用程序的初始安装包以及符合启动时刻条件的文件配置,所述初始安装包包括若干资源文件;
根据所述文件配置,对所述若干资源文件进行重新布局,得到目标安装包。
2.如权利要求1所述的安装包管理方法,其特征在于,所述根据所述文件配置,对所述若干资源文件进行重新布局,得到目标安装包的步骤包括:
根据所述文件配置,确定所述若干资源文件各自对应的优先级;
根据所述若干资源文件各自对应的优先级,对所述若干资源文件进行有序重排,得到布局后的若干资源文件;
对所述布局后的若干资源文件进行打包,得到所述目标安装包。
3.如权利要求1所述的安装包管理方法,其特征在于,所述获取应用程序的初始安装包的步骤包括:
运行预设压缩插件获取所述若干资源文件中的第一图片资源;
在检测到所述第一图片资源满足预设图片格式时,对所述第一图片资源进行压缩,生成所述初始安装包。
4.如权利要求3所述的安装包管理方法,其特征在于,所述对所述第一图片资源进行压缩,生成所述初始安装包的步骤包括:
压缩所述第一图片资源,得到压缩后的第二图片资源;
分别获取所述第一图片资源的体积和所述第二图片资源的体积,判断所述第二图片资源的体积是否小于所述第一图片资源的体积;
若所述第二图片资源的体积小于所述第一图片资源的体积,则删除所述第一图片资源,并基于所述第二图片资源生成所述初始安装包;
若所述第二图片资源的体积不小于所述第一图片资源的体积,则删除所述第二图片资源,并基于所述第一图片资源生成所述初始安装包。
5.如权利要求1所述的安装包管理方法,其特征在于,所述获取应用程序的初始安装包以及符合启动时刻条件的文件配置的步骤之前,还包括:
在所述应用程序冷启动时,捕捉对应的启动操作;
根据所述启动操作,确定所述文件配置。
6.如权利要求5所述的安装包管理方法,其特征在于,所述根据所述文件配置,对所述若干资源文件进行重新布局,得到目标安装包的步骤之后,还包括:
针对所述目标安装包,进行冷启动模拟,得到冷启动时长;
在所述冷启动时长不满足预设测试条件时,返回执行所述在所述应用程序冷启动时,捕捉对应的启动操作以及之后的步骤;
以此循环,直到所述冷启动时长符合预设测试条件,得到优化后的目标安装包。
7.如权利要求1所述的安装包管理方法,其特征在于,所述根据所述文件配置,对所述若干资源文件进行重新布局,得到目标安装包的步骤之后包括:
对所述目标安装包进行多维度校验,得到校验结果。
8.一种安装包管理装置,其特征在于,所述安装包管理装置包括:
获取模块,用于获取应用程序的初始安装包以及符合启动时刻条件的文件配置,所述初始安装包包括若干资源文件;
布局模块,用于根据所述文件配置,对所述若干资源文件进行重新布局,得到目标安装包。
9.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的安装包管理程序,所述安装包管理程序被所述处理器执行时实现如权利要求1-7中任一项所述的安装包管理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有安装包管理程序,所述安装包管理程序被处理器执行时实现如权利要求1-7中任一项所述的安装包管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311024483.4A CN117055907A (zh) | 2023-08-14 | 2023-08-14 | 安装包管理方法、装置、终端设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311024483.4A CN117055907A (zh) | 2023-08-14 | 2023-08-14 | 安装包管理方法、装置、终端设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117055907A true CN117055907A (zh) | 2023-11-14 |
Family
ID=88663974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311024483.4A Pending CN117055907A (zh) | 2023-08-14 | 2023-08-14 | 安装包管理方法、装置、终端设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117055907A (zh) |
-
2023
- 2023-08-14 CN CN202311024483.4A patent/CN117055907A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150012924A1 (en) | Method and Device for Loading a Plug-In | |
JP5658283B2 (ja) | アプリケーションの稼働方法、装置及びシステム | |
CN111782492A (zh) | 页面首屏加载时长测试方法、装置、计算机设备及介质 | |
CN110084064B (zh) | 基于终端的大数据分析处理方法及系统 | |
CN112099798B (zh) | 公有函数执行耗时的统计方法、装置、存储介质及终端 | |
CN111782416A (zh) | 数据上报方法、装置、系统、终端及计算机可读存储介质 | |
CN110071924B (zh) | 基于终端的大数据分析方法及系统 | |
CN113835713B (zh) | 源码包下载方法、装置、计算机设备和存储介质 | |
EP1977342A1 (en) | Analyzing interpretable code for harm potential | |
CN114598687A (zh) | 一种https数据包的抓取方法、系统及终端 | |
CN112256295A (zh) | 应用程序的更新方法、装置、设备和存储介质 | |
CN111752595A (zh) | 文件打包方法、装置、设备及存储介质 | |
CN117055907A (zh) | 安装包管理方法、装置、终端设备以及存储介质 | |
JP2016538609A (ja) | ハッシュを利用したプログラムの無欠性検証方法 | |
WO2020233044A1 (zh) | 一种插件校验方法、设备、服务器及计算机可读存储介质 | |
CN110727576A (zh) | 一种web页面测试方法、装置、设备及存储介质 | |
CN111026669A (zh) | 测试日志管理方法、测试日志管理装置及存储介质 | |
CN109426546B (zh) | 应用启动方法及装置、计算机存储介质及设备 | |
CN113590179B (zh) | 插件检测方法、装置、电子设备及存储介质 | |
CN113791824B (zh) | 一种终端设备的外设驱动加载方法、系统及介质 | |
CN113064601B (zh) | 动态加载文件的确定方法、装置、终端及存储介质 | |
CN114489672A (zh) | 开机加速方法、装置、电子设备及存储介质 | |
CN110764784B (zh) | 一种识别三方so文件的方法、智能终端及存储介质 | |
KR101562282B1 (ko) | 오덱스 무결성 검증 시스템 및 방법 | |
CN111796972B (zh) | 文件热修复方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |