CN113282300A - 应用安装包的体积优化方法、装置、设备及存储介质 - Google Patents

应用安装包的体积优化方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113282300A
CN113282300A CN202110722077.XA CN202110722077A CN113282300A CN 113282300 A CN113282300 A CN 113282300A CN 202110722077 A CN202110722077 A CN 202110722077A CN 113282300 A CN113282300 A CN 113282300A
Authority
CN
China
Prior art keywords
picture
target
installation package
directory
terminal application
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
Application number
CN202110722077.XA
Other languages
English (en)
Inventor
李伟民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company of China Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN202110722077.XA priority Critical patent/CN113282300A/zh
Publication of CN113282300A publication Critical patent/CN113282300A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及移动端技术领域,揭示了一种应用安装包的体积优化方法、装置、设备及存储介质,其中方法包括:获取验证通过的终端应用的安装包打包请求,安装包打包请求携带有图片目录和源代码目录;响应安装包打包请求,分别对图片目录对应的文件夹中的每个目标图片创建一个XML文件,得到多个目标XML文件,目标XML文件是包含预设数量的像素的XML格式的文件;将各个目标XML文件存储在图片目录对应的文件夹中;根据图片目录对应的文件夹中的各个目标XML文件和源代码目录对应的源代码进行安装包打包,得到体积优化后的应用安装包。从而在不影响终端应用的开发和功能的基础上,减少了终端应用的安装包的体积。

Description

应用安装包的体积优化方法、装置、设备及存储介质
技术领域
本申请涉及到移动端技术领域,特别是涉及到一种应用安装包的体积优化方法、装置、设备及存储介质。
背景技术
安卓系统推出已有10多年,终端应用也从开始时的百花齐放直至现在进入了存量竞争的时代,由此衍生的对于终端应用自身的优化就变成不可避免的一项工作。而其中,关于安装包体积的优化又是重中之重,原因有两点:(1)当安装包体积很大的时候,将使消耗过多时间下载安装包,可能导致用户直接放弃对终端应用的使用;(2)安装包体积很大时,首次安装安装包将消耗用户过多的流量,增加了用户的流量成本,从而不利于终端应用的推广。
发明内容
本申请的主要目的为提供一种应用安装包的体积优化方法、装置、设备及存储介质,旨在解决现有技术的采用安卓系统的终端应用的安装包体积较大,不利于终端应用的推广的技术问题。
为了实现上述发明目的,本申请提出一种应用安装包的体积优化方法,所述方法包括:
获取验证通过的终端应用的安装包打包请求,所述安装包打包请求携带有图片目录和源代码目录;
响应所述安装包打包请求,分别对所述图片目录对应的文件夹中的每个目标图片创建一个XML文件,得到多个目标XML文件,其中,所述目标XML文件是包含预设数量的像素的XML格式的文件;
将各个所述目标XML文件存储在所述图片目录对应的文件夹中;
获取编译打包请求;
响应所述编译打包请求,根据所述图片目录对应的文件夹中的各个所述目标XML文件和所述源代码目录对应的源代码进行安装包打包,得到体积优化后的应用安装包。
进一步的,所述分别对所述图片目录对应的文件夹中的每个目标图片创建一个XML文件,得到多个目标XML文件的步骤,包括:
调用目标编译插件,采用遍历的方式,从所述图片目录对应的文件夹中获取所述目标图片的图片名称,得到待处理的图片名称;
调用所述目标编译插件,根据所述待处理的图片名称进行Drawable布局的XML文件创建,得到所述待处理的图片名称对应的所述目标XML文件,其中,所述目标XML文件的名称与所述待处理的图片名称相同。
进一步的,所述根据所述图片目录对应的文件夹中的各个所述目标XML文件和所述源代码目录对应的源代码进行安装包打包,得到体积优化后的应用安装包之后,还包括:
分别对所述图片目录对应的文件夹中的每个所述目标图片进行压缩,得到各个所述目标图片各自对应的压缩图片;
获取图片资源存储地址,将各个所述压缩图片存储在所述图片资源存储地址对应的文件夹中。
进一步的,所述根据所述图片目录对应的文件夹中的各个所述目标XML文件和所述源代码目录对应的源代码进行安装包打包,得到体积优化后的应用安装包之后,还包括:
采用所述体积优化后的应用安装包安装得到目标终端应用;
通过所述目标终端应用,获取首次启动请求;
通过所述目标终端应用,响应所述首次启动请求,获取图片资源存储地址;
通过所述目标终端应用,根据所述图片资源存储地址从服务端获取多个待存储的图片;
通过所述目标终端应用,获取图片私有目录,将各个所述待存储的图片存在所述图片私有目录对应的本地文件夹中;
通过所述目标终端应用,获取各个图片访问路径和待反射的路径变量;
通过所述目标终端应用,采用反射安卓系统查找图片的路径变量的方法,根据所述待反射的路径变量,对各个所述图片访问路径进行路径反射。
进一步的,所述通过所述目标终端应用,根据所述图片资源存储地址从服务端获取多个待存储的图片的步骤,包括:
通过所述目标终端应用,根据所述图片资源存储地址向服务端发送资源检测请求;
通过所述目标终端应用,获取所述服务端根据所述资源检测请求发送的资源检测结果;
通过所述目标终端应用,当所述资源检测结果为存在图片时,从服务端获取所述图片资源存储地址对应的文件夹中的所有压缩图片,得到压缩图片集合;
通过所述目标终端应用,分别对所述压缩图片集合中每个所述压缩图片进行解压,得到多个所述待存储的图片。
进一步的,所述通过所述目标终端应用,获取首次启动请求的步骤之后,还包括:
通过所述目标终端应用,获取页面展示请求,所述页面展示请求携带有目标页面标识;
通过所述目标终端应用,响应所述页面展示请求,获取所述目标页面标识对应的图片标识集合;
通过所述目标终端应用,分别获取所述图片标识集合中的每个图片标识的图片访问路径,得到多个目标图片访问路径;
通过所述目标终端应用,分别根据每个所述目标图片访问路径进行所述图片获取,得到多个待判断的图片;
通过所述目标终端应用,获取图片像素阈值,根据所述图片像素阈值和多个所述待判断的图片确定多个目标展示图片;
通过所述目标终端应用,根据各个所述目标展示图片进行页面展示,得到目标页面。
进一步的,所述通过所述目标终端应用,获取图片像素阈值,根据所述图片像素阈值和多个所述待判断的图片确定多个目标展示图片的步骤,包括:
通过所述目标终端应用,分别判断每个所述待判断的图片的像素数量是否小于所述图片像素阈值;
当存在所述待判断的图片的像素数量小于所述图片像素阈值时,通过所述目标终端应用,分别根据像素数量小于所述图片像素阈值的每个所述待判断的图片从所述服务端中获取图片作为所述目标展示图片;
当存在所述待判断的图片的像素数量大于或等于所述图片像素阈值时,通过所述目标终端应用,分别将像素数量大于或等于所述图片像素阈值的每个所述待判断的图片作为一个所述目标展示图片。
本申请还提出了一种应用安装包的体积优化装置,所述装置包括:
第一请求获取模块,用于获取验证通过的终端应用的安装包打包请求,所述安装包打包请求携带有图片目录和源代码目录;
目标XML文件确定模块,用于响应所述安装包打包请求,分别对所述图片目录对应的文件夹中的每个目标图片创建一个XML文件,得到多个目标XML文件,其中,所述目标XML文件是包含预设数量的像素的XML格式的文件;
图片存储模块,用于将各个所述目标XML文件存储在所述图片目录对应的文件夹中;
第二请求获取模块,用于获取编译打包请求;
安装包打包模块,用于响应所述编译打包请求,根据所述图片目录对应的文件夹中的各个所述目标XML文件和所述源代码目录对应的源代码进行安装包打包,得到体积优化后的应用安装包。
本申请还提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的应用安装包的体积优化方法、装置、设备及存储介质,其中方法通过首先获取验证通过的终端应用的安装包打包请求,所述安装包打包请求携带有图片目录和源代码目录,然后响应所述安装包打包请求,分别对所述图片目录对应的文件夹中的每个目标图片创建一个XML文件,得到多个目标XML文件,其中,所述目标XML文件是包含预设数量的像素的XML格式的文件,将各个所述目标XML文件存储在所述图片目录对应的文件夹中,最后响应所述编译打包请求,根据所述图片目录对应的文件夹中的各个所述目标XML文件和所述源代码目录对应的源代码进行安装包打包,得到体积优化后的应用安装包,从而在不影响终端应用的开发和功能的基础上,减少了终端应用的安装包的体积,有利于终端应用的推广。
附图说明
图1为本申请一实施例的应用安装包的体积优化方法的流程示意图;
图2为本申请一实施例的应用安装包的体积优化装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例中提供一种应用安装包的体积优化方法,所述方法包括:
S1:获取验证通过的终端应用的安装包打包请求,所述安装包打包请求携带有图片目录和源代码目录;
S2:响应所述安装包打包请求,分别对所述图片目录对应的文件夹中的每个目标图片创建一个XML文件,得到多个目标XML文件,其中,所述目标XML文件是包含预设数量的像素的XML格式的文件;
S3:将各个所述目标XML文件存储在所述图片目录对应的文件夹中;
S4:获取编译打包请求;
S5:响应所述编译打包请求,根据所述图片目录对应的文件夹中的各个所述目标XML文件和所述源代码目录对应的源代码进行安装包打包,得到体积优化后的应用安装包。
本实施例通过首先获取验证通过的终端应用的安装包打包请求,所述安装包打包请求携带有图片目录和源代码目录,然后响应所述安装包打包请求,分别对所述图片目录对应的文件夹中的每个目标图片创建一个XML文件,得到多个目标XML文件,其中,所述目标XML文件是包含预设数量的像素的XML格式的文件,将各个所述目标XML文件存储在所述图片目录对应的文件夹中,最后响应所述编译打包请求,根据所述图片目录对应的文件夹中的各个所述目标XML文件和所述源代码目录对应的源代码进行安装包打包,得到体积优化后的应用安装包,从而在不影响终端应用的开发和功能的基础上,减少了终端应用的安装包的体积,有利于终端应用的推广。
对于S1,对终端应用进行开发,终端应用实际使用到的所有目标图片放在图片目录对应的文件夹中。也就是说,目标图片是终端应用的正确图片。
图片目录,是存放目标图片的地址。
目标图片,是开发终端应用时实际使用到的图片。
源代码目录,是存放终端应用的源代码的地址。
终端应用,是采用安卓系统的移动设备的应用。移动设备包括但不限于:手机、平板电脑、智能穿戴设备。
其中,可以是用户针对验证通过的终端应用输入的安装包打包请求,也可以是第三方应用系统针对验证通过的终端应用发送的安装包打包请求。
安装包打包请求,是对终端应用的源代码和所有目标图片进行安装包打包的请求。
对于S2,在收到所述安装包打包请求时,分别对所述图片目录对应的文件夹中的每个目标图片创建一个XML文件,将得到的每个XML文件作为一个目标XML文件。可以理解的是,所述图片目录对应的文件夹中的每个所述目标图片对应一个所述目标XML文件。
可选的,所述预设数量的1,也就是说,所述目标XML文件是包含一个像素的XML格式的文件。
可选的,所述预设数量还可以大于1,在此不做限定。
可选的,所有所述目标XML文件的像素值相同。
XML文件,是可扩展标记语言的文件。
其中,所述目标XML文件是包含预设数量的像素的XML格式的文件,从而使每个所述目标XML文件的体积非常小。
对于S3,将所有所述目标XML文件存储在所述图片目录对应的文件夹中,从而使所有所述目标XML文件的存储地址和所述终端应用的所述目标图片的存储地址相同。
对于S4,可以获取用户输入的编译打包请求,也可以是实现本申请的程序根据预设触发条件触发的编译打包请求。
预设触发条件包括但不限于:收到所有目标XML文件存储在所述图片目录对应的文件夹中的完成信号时触发编译打包请求。
编译打包请求,是对终端应用的源代码和目标XML文件进行安装包打包的请求。
对于S5,在收到所述编译打包请求时,根据所述图片目录对应的文件夹中的各个所述目标XML文件和所述源代码目录对应的源代码进行安装包打包,将打包得到的安装包作为所述体积优化后的应用安装包。因所述体积优化后的应用安装包中的图片是目标XML文件,目标XML文件是包含预设数量的像素的文件,从而在不影响终端应用功能的基础上,减少了终端应用的安装包的体积。
在一个实施例中,上述分别对所述图片目录对应的文件夹中的每个目标图片创建一个XML文件,得到多个目标XML文件的步骤,包括:
S21:调用目标编译插件,采用遍历的方式,从所述图片目录对应的文件夹中获取所述目标图片的图片名称,得到待处理的图片名称;
S22:调用所述目标编译插件,根据所述待处理的图片名称进行Drawable布局的XML文件创建,得到所述待处理的图片名称对应的所述目标XML文件,其中,所述目标XML文件的名称与所述待处理的图片名称相同。
本实施例实现了调用目标编译插件,采用遍历的方式,分别对所述图片目录对应的文件夹中的每个目标图片创建一个Drawable布局的XML文件,从而为不影响终端应用功能的基础上减少终端应用的安装包的体积提供了基础。
对于S21,目标编译插件,是自定义的Gradle编译插件。因安卓是使用Gradle来编译的,因此也支持自定义Gradle编译插件来操作编译的每一步流程。
Gradle基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。
其中,采用目标编译插件,采用遍历的方式,依次从所述图片目录对应的文件夹中获取所述目标图片的图片名称,将提取的图片名称作为待处理的图片名称。
对于S22,调用所述目标编译插件,根据所述待处理的图片名称创建一个Drawable布局的XML文件,并且将所述待处理的图片名称作为创建的Drawable布局的XML文件的文件名,从而将创建的Drawable布局的XML文件作为所述待处理的图片名称对应的所述目标XML文件。
Drawable,是安卓中图像显示的方法。
可选的,所述调用所述目标编译插件,根据所述待处理的图片名称进行Drawable布局的XML文件创建,得到所述待处理的图片名称对应的所述目标XML文件的步骤之后,还包括:
S23:重复执行所述调用目标编译插件,采用遍历的方式,从所述图片目录对应的文件夹中获取所述目标图片的图片名称,得到待处理的图片名称的步骤,直至完成所述图片目录对应的文件夹中的所有所述目标图片的所述图片名称的获取。
对于S23,重复执行步骤S21至步骤S23,直至完成所述图片目录对应的文件夹中的所有所述目标图片的所述图片名称的获取。
在一个实施例中,上述根据所述图片目录对应的文件夹中的各个所述目标XML文件和所述源代码目录对应的源代码进行安装包打包,得到体积优化后的应用安装包之后,还包括:
S61:分别对所述图片目录对应的文件夹中的每个所述目标图片进行压缩,得到各个所述目标图片各自对应的压缩图片;
S62:获取图片资源存储地址,将各个所述压缩图片存储在所述图片资源存储地址对应的文件夹中。
本实施例将目标图片压缩后存储在所述图片资源存储地址对应的文件夹中,为提供下载提供了基础。
对于S61,分别对所述图片目录对应的文件夹中的每个所述目标图片进行压缩,将压缩的的每个图片作为一个压缩图片。
对于S62,可以从数据库中获取图片资源存储地址,也可以从数据库中获取图片资源存储地址,还可以从第三方应用系统中获取图片资源存储地址,还可以将图片资源存储地址写入实现本申请的应用程序中。
其中,将各个所述压缩图片存储在所述图片资源存储地址对应的文件夹中,从而有利于体积优化后的应用安装包成功安装后能快速的获取真实的图片。
在另一个实施例中,直接将各个所述目标图片存储在所述图片资源存储地址对应的文件夹中。
在一个实施例中,上述根据所述图片目录对应的文件夹中的各个所述目标XML文件和所述源代码目录对应的源代码进行安装包打包,得到体积优化后的应用安装包之后,还包括:
S71:采用所述体积优化后的应用安装包安装得到目标终端应用;
S72:通过所述目标终端应用,获取首次启动请求;
S73:通过所述目标终端应用,响应所述首次启动请求,获取图片资源存储地址;
S74:通过所述目标终端应用,根据所述图片资源存储地址从服务端获取多个待存储的图片;
S75:通过所述目标终端应用,获取图片私有目录,将各个所述待存储的图片存在所述图片私有目录对应的本地文件夹中;
S76:通过所述目标终端应用,获取各个图片访问路径和待反射的路径变量;
S77:通过所述目标终端应用,采用反射安卓系统查找图片的路径变量的方法,根据所述待反射的路径变量,对各个所述图片访问路径进行路径反射。
本实施例在所述体积优化后的应用安装包安装得到目标终端应用之后,通过目标终端应用从所述图片资源存储地址对应的文件夹中获取待存储的图片,然后将待存储的图片存储在本地文件夹中,最后采用反射安卓系统查找图片的路径变量的方法,根据所述待反射的路径变量,对各个所述图片访问路径进行路径反射,为目标终端应用在运行时调用真实的图片提供了基础。
对于S71,采用所述体积优化后的应用安装包,在目标移动设备中进行终端应用的安装,将安装得到的终端应用作为目标终端应用。
对于S72,通过所述目标终端应用,获取用户输入的首次启动请求。
首次启动请求,是用户第一次打开目标终端应用的请求。
对于S73,目标终端应用在收到所述首次启动请求时,从所述目标终端应用的配置数据中获取图片资源存储地址。
图片资源存储地址,是放置图片资源的链接地址。
可选的,通过所述目标终端应用,响应所述首次启动请求,获取所述目标终端应用对应的目标移动设备的移动设备型号,根据所述移动设备型号获取图片资源存储地址。
可选的,通过所述目标终端应用,响应所述首次启动请求,获取所述目标终端应用对应的目标移动设备所在的地区数据,根据所述地区数据获取图片资源存储地址。地区数据包括但不限于:城市。
对于S74,通过所述目标终端应用,根据所述图片资源存储地址从服务端获取图片,当获取的图片是没有压缩时直接将获取的每个没有压缩的图片作为一个待存储的图片,当获取的图片是有压缩时直接将获取的每个压缩的图片解压后作为一个待存储的图片。
对于S75,通过所述目标终端应用,从获取所述目标终端应用对应的配置数据,从所述配置数据中获取图片私有目录。
图片私有目录,是所述目标终端应用在目标移动设备上存储文件的目录。
其中,通过所述目标终端应用,将各个所述待存储的图片存在所述图片私有目录对应的本地文件夹中,从而为后续从本地文件夹中获取图片进行加载提供了基础。
对于S76,通过所述目标终端应用,可以从所述配置数据中获取各个图片访问路径和待反射的路径变量。
图片访问路径,是目标终端应用获取图片的路径。
待反射的路径变量,是根据所述图片私有目录确定的路径变量。
对于S77,通过所述目标终端应用,采用反射安卓系统查找图片的路径变量的方法,根据所述待反射的路径变量,使所述图片访问路径进行路径反射,完成路径反射后的所述图片访问路径将指向图片私有目录,从而使所述目标终端应用可以从本地文件夹中获取图片进行加载。
采用反射安卓系统查找图片的路径变量的方法,根据所述待反射的路径变量,使所述图片访问路径进行路径反射的具体方法步骤在此不做赘述。
在一个实施例中,上述通过所述目标终端应用,根据所述图片资源存储地址从服务端获取多个待存储的图片的步骤,包括:
S741:通过所述目标终端应用,根据所述图片资源存储地址向服务端发送资源检测请求;
S742:通过所述目标终端应用,获取所述服务端根据所述资源检测请求发送的资源检测结果;
S743:通过所述目标终端应用,当所述资源检测结果为存在图片时,从服务端获取所述图片资源存储地址对应的文件夹中的所有压缩图片,得到压缩图片集合;
S744:通过所述目标终端应用,分别对所述压缩图片集合中每个所述压缩图片进行解压,得到多个所述待存储的图片。
本实施例首先服务端获取所述图片资源存储地址对应的文件夹中的所有压缩图片,然后进行解压,从而为后续从本地文件夹中获取图片进行加载提供了基础。
对于S741,向所述图片资源存储地址对应的服务端发送资源检测请求,其中,所述资源检测请求中携带有所述图片资源存储地址。
资源检测请求,也就是检测是否存在图片的请求。
对于S742,通过服务端,根据资源检测请求携带的所述图片资源存储地址进行资源检测,当所述图片资源存储地址对应的文件夹存在图片时,确定所述资源检测结果为存在图片,否则,确定所述资源检测结果为不存在图片;服务端将所述资源检测结果发送给所述目标终端应用。
对于S743,当所述资源检测结果为存在图片时,意味着所述图片资源存储地址对应的文件夹存在图片,从服务端获取所述图片资源存储地址对应的文件夹中的所有压缩图片,将获取的所有压缩图片作为所述压缩图片集合。
可选的,当所述资源检测结果为存在图片时,通过所述目标终端应用,根据所述图片资源存储地址生成异步线程,将生成的异步线程作为目标异步下载线程,执行所述目标异步下载线程,从服务端获取所述图片资源存储地址对应的文件夹中的所有压缩图片,将获取的所有所述压缩图片作为所述压缩图片集合。
对于S744,通过所述目标终端应用,分别对所述压缩图片集合中每个所述压缩图片进行解压,将解压得到的每个图片作为一个待存储的图片。
在一个实施例中,上述通过所述目标终端应用,获取首次启动请求的步骤之后,还包括:
S81:通过所述目标终端应用,获取页面展示请求,所述页面展示请求携带有目标页面标识;
S82:通过所述目标终端应用,响应所述页面展示请求,获取所述目标页面标识对应的图片标识集合;
S83:通过所述目标终端应用,分别获取所述图片标识集合中的每个图片标识的图片访问路径,得到多个目标图片访问路径;
S84:通过所述目标终端应用,分别根据每个所述目标图片访问路径进行所述图片获取,得到多个待判断的图片;
S85:通过所述目标终端应用,获取图片像素阈值,根据所述图片像素阈值和多个所述待判断的图片确定多个目标展示图片;
S86:通过所述目标终端应用,根据各个所述目标展示图片进行页面展示,得到目标页面。
本实施例在获取首次启动请求的步骤之后获取页面展示请求时,根据所述图片像素阈值和多个所述待判断的图片确定多个目标展示图片,从而避免将像素不合格的图片加载到页面,提高了加载的页面的准确性,提高了用户体验。
对于S81,通过所述目标终端应用,获取用户输入的页面展示请求。
页面展示请求,也就是在所述目标终端应用进行Web(全球广域网)页面展示的请求。
目标页面标识,也就是所述页面展示请求想要展示的Web页面的页面标识。页面标识可以是页面名称、页面ID等唯一标识一个页面的数据。
对于S82,通过所述目标终端应用,响应所述页面展示请求,从所述目标终端应用的配置数据中获取所述目标页面标识对应的图片标识集合。
对于S83,通过所述目标终端应用,从所述目标终端应用的配置数据中分别获取所述图片标识集合中的每个图片标识的所述图片访问路径,将获取的每个所述图片访问路径作为所述目标图片访问路径。
对于S84,通过所述目标终端应用,分别根据每个所述目标图片访问路径进行所述图片获取,将获取的每个图片作为一个所述待判断的图片。
对于S85,通过所述目标终端应用,从所述目标终端应用的配置数据中获取图片像素阈值;分别将每个所述待判断的图片与所述图片像素阈值进行判断,当判断结果为大于或等于时将对应的所述待判断的图片作为一个所述目标展示图片,当判断结果为小于时根据对应的所述待判断的图片从服务端获取图片作为一个所述目标展示图片。
对于S86,通过所述目标终端应用,根据各个所述目标展示图片进行页面展示,从而得到显示完整图片的页面,将该页面作为所述目标页面。
在一个实施例中,上述通过所述目标终端应用,获取图片像素阈值,根据所述图片像素阈值和多个所述待判断的图片确定多个目标展示图片的步骤,包括:
S851:通过所述目标终端应用,分别判断每个所述待判断的图片的像素数量是否小于所述图片像素阈值;
S852:当存在所述待判断的图片的像素数量小于所述图片像素阈值时,通过所述目标终端应用,分别根据像素数量小于所述图片像素阈值的每个所述待判断的图片从所述服务端中获取图片作为所述目标展示图片;
S853:当存在所述待判断的图片的像素数量大于或等于所述图片像素阈值时,通过所述目标终端应用,分别将像素数量大于或等于所述图片像素阈值的每个所述待判断的图片作为一个所述目标展示图片。
本实施例通过所述目标终端应用,分别根据像素数量小于所述图片像素阈值的每个所述待判断的图片从所述服务端中获取图片作为所述目标展示图片,分别将像素数量大于或等于所述图片像素阈值的每个所述待判断的图片作为一个所述目标展示图片,从而在优先从本地文件夹获取图片加载的情况下,避免将像素不合格的图片加载到页面,提高了加载的页面的准确性,提高了用户体验。
对于S852,当存在所述待判断的图片的像素数量小于所述图片像素阈值时,意味着像素数量小于所述图片像素阈值的所述待判断的图片不是像素数量正确的图片,此时通过所述目标终端应用,分别根据像素数量小于所述图片像素阈值的每个所述待判断的图片从所述服务端中获取图片,将获取的每个图片作为一个所述目标展示图片。
对于S853,当存在所述待判断的图片的像素数量大于或等于所述图片像素阈值时,像素数量大于或等于所述图片像素阈值的所述待判断的图片是像素数量正确的图片,此时可以通过所述目标终端应用,分别将像素数量大于或等于所述图片像素阈值的每个所述待判断的图片作为一个所述目标展示图片。
参照图2,本申请还提出了一种应用安装包的体积优化装置,所述装置包括:
第一请求获取模块100,用于获取验证通过的终端应用的安装包打包请求,所述安装包打包请求携带有图片目录和源代码目录;
目标XML文件确定模块200,用于响应所述安装包打包请求,分别对所述图片目录对应的文件夹中的每个目标图片创建一个XML文件,得到多个目标XML文件,其中,所述目标XML文件是包含预设数量的像素的XML格式的文件;
图片存储模块300,用于将各个所述目标XML文件存储在所述图片目录对应的文件夹中;
第二请求获取模块400,用于获取编译打包请求;
安装包打包模块500,用于响应所述编译打包请求,根据所述图片目录对应的文件夹中的各个所述目标XML文件和所述源代码目录对应的源代码进行安装包打包,得到体积优化后的应用安装包。
本实施例通过首先获取验证通过的终端应用的安装包打包请求,所述安装包打包请求携带有图片目录和源代码目录,然后响应所述安装包打包请求,分别对所述图片目录对应的文件夹中的每个目标图片创建一个XML文件,得到多个目标XML文件,其中,所述目标XML文件是包含预设数量的像素的XML格式的文件,将各个所述目标XML文件存储在所述图片目录对应的文件夹中,最后响应所述编译打包请求,根据所述图片目录对应的文件夹中的各个所述目标XML文件和所述源代码目录对应的源代码进行安装包打包,得到体积优化后的应用安装包,从而在不影响终端应用的开发和功能的基础上,减少了终端应用的安装包的体积,有利于终端应用的推广。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于储存应用安装包的体积优化方法等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用安装包的体积优化方法。所述应用安装包的体积优化方法,包括:获取验证通过的终端应用的安装包打包请求,所述安装包打包请求携带有图片目录和源代码目录;响应所述安装包打包请求,分别对所述图片目录对应的文件夹中的每个目标图片创建一个XML文件,得到多个目标XML文件,其中,所述目标XML文件是包含预设数量的像素的XML格式的文件;将各个所述目标XML文件存储在所述图片目录对应的文件夹中;获取编译打包请求;响应所述编译打包请求,根据所述图片目录对应的文件夹中的各个所述目标XML文件和所述源代码目录对应的源代码进行安装包打包,得到体积优化后的应用安装包。
本实施例通过首先获取验证通过的终端应用的安装包打包请求,所述安装包打包请求携带有图片目录和源代码目录,然后响应所述安装包打包请求,分别对所述图片目录对应的文件夹中的每个目标图片创建一个XML文件,得到多个目标XML文件,其中,所述目标XML文件是包含预设数量的像素的XML格式的文件,将各个所述目标XML文件存储在所述图片目录对应的文件夹中,最后响应所述编译打包请求,根据所述图片目录对应的文件夹中的各个所述目标XML文件和所述源代码目录对应的源代码进行安装包打包,得到体积优化后的应用安装包,从而在不影响终端应用的开发和功能的基础上,减少了终端应用的安装包的体积,有利于终端应用的推广。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种应用安装包的体积优化方法,包括步骤:获取验证通过的终端应用的安装包打包请求,所述安装包打包请求携带有图片目录和源代码目录;响应所述安装包打包请求,分别对所述图片目录对应的文件夹中的每个目标图片创建一个XML文件,得到多个目标XML文件,其中,所述目标XML文件是包含预设数量的像素的XML格式的文件;将各个所述目标XML文件存储在所述图片目录对应的文件夹中;获取编译打包请求;响应所述编译打包请求,根据所述图片目录对应的文件夹中的各个所述目标XML文件和所述源代码目录对应的源代码进行安装包打包,得到体积优化后的应用安装包。
上述执行的应用安装包的体积优化方法,通过首先获取验证通过的终端应用的安装包打包请求,所述安装包打包请求携带有图片目录和源代码目录,然后响应所述安装包打包请求,分别对所述图片目录对应的文件夹中的每个目标图片创建一个XML文件,得到多个目标XML文件,其中,所述目标XML文件是包含预设数量的像素的XML格式的文件,将各个所述目标XML文件存储在所述图片目录对应的文件夹中,最后响应所述编译打包请求,根据所述图片目录对应的文件夹中的各个所述目标XML文件和所述源代码目录对应的源代码进行安装包打包,得到体积优化后的应用安装包,从而在不影响终端应用的开发和功能的基础上,减少了终端应用的安装包的体积,有利于终端应用的推广。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种应用安装包的体积优化方法,其特征在于,所述方法包括:
获取验证通过的终端应用的安装包打包请求,所述安装包打包请求携带有图片目录和源代码目录;
响应所述安装包打包请求,分别对所述图片目录对应的文件夹中的每个目标图片创建一个XML文件,得到多个目标XML文件,其中,所述目标XML文件是包含预设数量的像素的XML格式的文件;
将各个所述目标XML文件存储在所述图片目录对应的文件夹中;
获取编译打包请求;
响应所述编译打包请求,根据所述图片目录对应的文件夹中的各个所述目标XML文件和所述源代码目录对应的源代码进行安装包打包,得到体积优化后的应用安装包。
2.根据权利要求1所述的应用安装包的体积优化方法,其特征在于,所述分别对所述图片目录对应的文件夹中的每个目标图片创建一个XML文件,得到多个目标XML文件的步骤,包括:
调用目标编译插件,采用遍历的方式,从所述图片目录对应的文件夹中获取所述目标图片的图片名称,得到待处理的图片名称;
调用所述目标编译插件,根据所述待处理的图片名称进行Drawable布局的XML文件创建,得到所述待处理的图片名称对应的所述目标XML文件,其中,所述目标XML文件的名称与所述待处理的图片名称相同。
3.根据权利要求1所述的应用安装包的体积优化方法,其特征在于,所述根据所述图片目录对应的文件夹中的各个所述目标XML文件和所述源代码目录对应的源代码进行安装包打包,得到体积优化后的应用安装包之后,还包括:
分别对所述图片目录对应的文件夹中的每个所述目标图片进行压缩,得到各个所述目标图片各自对应的压缩图片;
获取图片资源存储地址,将各个所述压缩图片存储在所述图片资源存储地址对应的文件夹中。
4.根据权利要求1所述的应用安装包的体积优化方法,其特征在于,所述根据所述图片目录对应的文件夹中的各个所述目标XML文件和所述源代码目录对应的源代码进行安装包打包,得到体积优化后的应用安装包之后,还包括:
采用所述体积优化后的应用安装包安装得到目标终端应用;
通过所述目标终端应用,获取首次启动请求;
通过所述目标终端应用,响应所述首次启动请求,获取图片资源存储地址;
通过所述目标终端应用,根据所述图片资源存储地址从服务端获取多个待存储的图片;
通过所述目标终端应用,获取图片私有目录,将各个所述待存储的图片存在所述图片私有目录对应的本地文件夹中;
通过所述目标终端应用,获取各个图片访问路径和待反射的路径变量;
通过所述目标终端应用,采用反射安卓系统查找图片的路径变量的方法,根据所述待反射的路径变量,对各个所述图片访问路径进行路径反射。
5.根据权利要求4所述的应用安装包的体积优化方法,其特征在于,所述通过所述目标终端应用,根据所述图片资源存储地址从服务端获取多个待存储的图片的步骤,包括:
通过所述目标终端应用,根据所述图片资源存储地址向服务端发送资源检测请求;
通过所述目标终端应用,获取所述服务端根据所述资源检测请求发送的资源检测结果;
通过所述目标终端应用,当所述资源检测结果为存在图片时,从服务端获取所述图片资源存储地址对应的文件夹中的所有压缩图片,得到压缩图片集合;
通过所述目标终端应用,分别对所述压缩图片集合中每个所述压缩图片进行解压,得到多个所述待存储的图片。
6.根据权利要求4所述的应用安装包的体积优化方法,其特征在于,所述通过所述目标终端应用,获取首次启动请求的步骤之后,还包括:
通过所述目标终端应用,获取页面展示请求,所述页面展示请求携带有目标页面标识;
通过所述目标终端应用,响应所述页面展示请求,获取所述目标页面标识对应的图片标识集合;
通过所述目标终端应用,分别获取所述图片标识集合中的每个图片标识的图片访问路径,得到多个目标图片访问路径;
通过所述目标终端应用,分别根据每个所述目标图片访问路径进行所述图片获取,得到多个待判断的图片;
通过所述目标终端应用,获取图片像素阈值,根据所述图片像素阈值和多个所述待判断的图片确定多个目标展示图片;
通过所述目标终端应用,根据各个所述目标展示图片进行页面展示,得到目标页面。
7.根据权利要求6所述的应用安装包的体积优化方法,其特征在于,所述通过所述目标终端应用,获取图片像素阈值,根据所述图片像素阈值和多个所述待判断的图片确定多个目标展示图片的步骤,包括:
通过所述目标终端应用,分别判断每个所述待判断的图片的像素数量是否小于所述图片像素阈值;
当存在所述待判断的图片的像素数量小于所述图片像素阈值时,通过所述目标终端应用,分别根据像素数量小于所述图片像素阈值的每个所述待判断的图片从所述服务端中获取图片作为所述目标展示图片;
当存在所述待判断的图片的像素数量大于或等于所述图片像素阈值时,通过所述目标终端应用,分别将像素数量大于或等于所述图片像素阈值的每个所述待判断的图片作为一个所述目标展示图片。
8.一种应用安装包的体积优化装置,其特征在于,所述装置包括:
第一请求获取模块,用于获取验证通过的终端应用的安装包打包请求,所述安装包打包请求携带有图片目录和源代码目录;
目标XML文件确定模块,用于响应所述安装包打包请求,分别对所述图片目录对应的文件夹中的每个目标图片创建一个XML文件,得到多个目标XML文件,其中,所述目标XML文件是包含预设数量的像素的XML格式的文件;
图片存储模块,用于将各个所述目标XML文件存储在所述图片目录对应的文件夹中;
第二请求获取模块,用于获取编译打包请求;
安装包打包模块,用于响应所述编译打包请求,根据所述图片目录对应的文件夹中的各个所述目标XML文件和所述源代码目录对应的源代码进行安装包打包,得到体积优化后的应用安装包。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202110722077.XA 2021-06-28 2021-06-28 应用安装包的体积优化方法、装置、设备及存储介质 Pending CN113282300A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110722077.XA CN113282300A (zh) 2021-06-28 2021-06-28 应用安装包的体积优化方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110722077.XA CN113282300A (zh) 2021-06-28 2021-06-28 应用安装包的体积优化方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN113282300A true CN113282300A (zh) 2021-08-20

Family

ID=77285897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110722077.XA Pending CN113282300A (zh) 2021-06-28 2021-06-28 应用安装包的体积优化方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113282300A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113656044A (zh) * 2021-08-24 2021-11-16 平安科技(深圳)有限公司 安卓安装包压缩方法、装置、计算机设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113656044A (zh) * 2021-08-24 2021-11-16 平安科技(深圳)有限公司 安卓安装包压缩方法、装置、计算机设备及存储介质
CN113656044B (zh) * 2021-08-24 2023-09-19 平安科技(深圳)有限公司 安卓安装包压缩方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN108287839B (zh) 一种页面加载方法和设备
CN109254773B (zh) 骨架页面生成方法、装置、设备和存储介质
CN110708210B (zh) 云测试配置方法、装置、计算机设备及存储介质
CN103294514A (zh) 系统软件版本集成方法、编译服务器及系统
CN111263354A (zh) 一种ota差分升级方法及装置
CN111651169B (zh) 基于web容器的区块链智能合约运行方法及系统
CN110147258B (zh) 提高程序加载效率的方法、装置、计算机设备和存储介质
CN112380130A (zh) 基于调用依赖关系的应用测试方法和装置
CN114238811A (zh) 页面加载方法、页面请求响应方法、装置、设备及介质
CN113282300A (zh) 应用安装包的体积优化方法、装置、设备及存储介质
CN112631701A (zh) 页面请求方法、装置、计算机设备和存储介质
CN113535211B (zh) 应用程序更新方法、装置、计算机设备及存储介质
CN114003307A (zh) 基于umd模式的动态组件加载注册方法、装置、设备及介质
CN109819014B (zh) 项目部署方法、装置、计算机设备和存储介质
CN115562690A (zh) 基于Docker容器的算法服务处理方法、装置及介质
CN112114808A (zh) 页面渲染方法、装置、电子设备
CN113282354B (zh) 应用程序的h5页面加载方法、装置、设备及存储介质
CN111679828B (zh) 一种数据处理的方法及装置、电子设备、存储介质
CN113590491A (zh) 一种测试平台和产品测试方法
CN113489650A (zh) 客户端的路由方法、装置、设备及存储介质
CN113094077B (zh) 一种系统差分升级方法、装置、智能终端及存储介质
CN113486267B (zh) 应用入口页面的解析方法、装置、设备及存储介质
CN109492144B (zh) 软件系统的关联关系分析方法、装置和存储介质
CN113885897A (zh) 客户端安装包的打包方法、装置、设备及存储介质
CN111651195B (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