应用程序包的优化方法、装置、设备及存储介质与流程
未命名
09-18
阅读:136
评论:0
1.本技术涉及金融科技领域或其他相关领域,尤其涉及一种应用程序包的优化方法、装置、设备及存储介质。
背景技术:
2.近年来,随着全球金融业的飞速发展,对银行业务系统提出了更加智能化、线上化、自动化、高效便捷的要求。
3.随着银行业务的快速迭代,银行app的android应用程序包的大小爆发式增长。android应用程序包,英文全称为android application package,简称apk包,是android操作系统使用的一种应用程序包文件,用于分发和安装移动应用及中间件。apk包的大小直接影响到下载转化率、推广成本、运行内存和安装时间等因素,因此对apk包进行优化是一件很有必要且收益很大的事情。
4.目前,关于如何减小apk包的大小,是一个亟待解决的问题。
技术实现要素:
5.本技术提供一种应用程序包的优化方法、装置、设备及存储介质,用以解决如何减小apk包的大小的问题。
6.第一方面,本技术提供一种应用程序包的优化方法,包括:
7.接收调用请求,所述调用请求用于请求第一线程对目标应用程序的编码文件进行处理,所述第一线程为android系统中的子线程;
8.根据所述调用请求,通过所述第一线程获取所述目标应用程序的初始编码文件;
9.通过所述第一线程对所述初始编码文件进行交织编码处理,得到目标编码文件,所述目标编码的编码进制小于所述第一编码文件的编码进制;
10.通过所述第一线程向所述android系统中的主线程发送所述目标编码文件。
11.第二方面,本技术提供一种应用程序包的优化装置,包括:
12.接收模块,用于接收调用请求,所述调用请求用于请求第一线程对目标应用程序的编码文件进行处理,所述第一线程为android系统中的子线程;
13.获取模块,用于根据所述调用请求,通过所述第一线程获取所述目标应用程序的初始编码文件;
14.处理模块,用于通过所述第一线程对所述初始编码文件进行交织编码处理,得到目标编码文件,所述目标编码的编码进制小于所述第一编码文件的编码进制;
15.发送模块,用于通过所述第一线程向所述android系统中的主线程发送所述目标编码文件。
16.第三方面,本技术提供了一种电子设备,包括:
17.处理器和存储器;
18.存储器存储计算机执行指令;
19.处理器执行存储器存储的计算机执行指令,使得电子设备执行第一方面中任一项的方法。
20.第四方面,本技术提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如第一方面任一项的方法。
21.第五方面,本技术提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如第一方面任一项的方法。
22.本实施例提供了一种应用程序包的优化方法、装置、设备及存储介质,该方法首先接收调用请求;随后,根据所述调用请求;接着,通过所述第一线程对所述初始编码文件进行交织编码处理,得到目标编码文件;最后,通过所述第一线程向所述android系统中的主线程发送所述目标编码文件。该方法通过从内存地址编码的角度出发,调用子线程对资源文件的内存地址进行交织编码处理,并发回给主线程,使得应用程序包所占据的内存变小,进而达到优化应用程序包的目的。
附图说明
23.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
24.图1为本技术提供的一种应用程序包的优化方法的具体的应用场景图;
25.图2为本技术实施例提供的应用程序包的优化方法流程图一;
26.图3a为本技术实施例提供的应用程序包的优化方法流程图二;
27.图3b为本技术实施例提供的交织编码流程图;
28.图4为本技术实施例提供的应用程序包的优化方法流程图三;
29.图5为本技术实施例提供的一种应用程序包的优化装置的结构示意图;
30.图6为本技术实施例提供一种电子设备的结构示意图。
31.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
32.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
33.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
34.需要说明的是,本技术应用程序包的优化的方法和装置可用于金融科技领域,也可用于除金融科技之外的任意领域,本技术应用程序包的优化的方法和装置的应用领域不作限定。
obfuscation)、无用资源删除(unused resource removal)、资源压缩(resource compression)、分离库(splitting libraries)、资源优化(resource optimization)以及动态特性模块(dynamic feature modules)。
49.其中代码混淆是通过代码混淆技术将代码中的变量、方法和类名进行重命名和混淆,使代码难以理解和逆向工程,从而减小apk包的大小。无用资源删除是指移除apk包中未使用的资源文件,例如未使用的图像、音频或布局文件。这可以通过静态分析工具或自动化构建脚本来实现。资源压缩是对apk包中的资源文件进行压缩,以减小其文件大小。例如,使用工具对图像文件进行有损或无损压缩,以减少其占用空间。分离库是将apk包中的大型库文件拆分成更小的部分,使应用程序只需加载所需的部分库文件。资源优化是指优化apk包中的资源文件,例如优化图像的分辨率、色彩深度和压缩算法,以减小其大小而不影响质量。动态特性模块是指将应用的某些功能或资源作为动态特性模块打包,只有在需要时才下载和安装。这可以帮助减小初始安装包的大小。这些方法可以结合本技术的使用,根据应用的具体情况选择适合的优化策略。
50.apk文件包含了应用程序的所有文件,包括静态资源文件(assets)、库文件(lib)、签名文件(meta-inf)、编译资源文件(res)、配置清单文件(android manifest.xml)、核心代码文件(classes.dex)和资源映射文件(resources.arsc)等信息,针对每一部分,都可以专项去做包大小的优化。其中,静态资源文件主要指存放在assets文件夹中的文件。assets文件夹是一种未经编译的资源目录,它会被打包进apk文件中,在安装应用程序之后可以被访问。assets文件夹中的文件不会被解压缩,这意味着它们的访问速度会比较快,但是会占用更多的安装包空间。因此对静态资源文件进行优化是有必要的。
51.本技术主要采用资源优化的方式,从内存地址编码的角度出发,对资源文件的内存地址进行交织编码处理,进而缩小应用程序包的大小。接收调用请求可以采取多种方式,例如将应用程序包的优化过程封装成一个sdk。它是一个针对于android版本app封装好的,后缀为.framework的源代码封装文件,它对外暴露了交织方法的入口,将sdk加入android工程文件,即嵌入了app中,接下来android代码中就可以直接调用该方法,完成交织编码。这里假设交织方法叫做function()。
52.s202、根据调用请求,通过第一线程获取目标应用程序的初始编码文件;
53.本实施例中,在接收调用请求的基础上,可根据调用请求,通过子线程获取初始编码文件。初始编码文件即为需要进行交织编码的文件。在使用调用sdk来实现优化过程时,可以通过调用该sdk,并输入初始编码文件的地址或者标识等需要输入的参数,即可完成初始编码文件的获取。
54.s203、通过第一线程对初始编码文件进行交织编码处理,得到目标编码文件,目标编码的编码进制小于第一编码文件的编码进制;
55.本实施例中,交织编码处理是将初始编码文件的编码进行转换,得到的目标编码文件的编码进制小于初始编码文件。具体来说,假设有一张图片a,图片的存储格式在android系统中,是16进制0x1010这种编码序列,存在于内存中,这种编码也叫做数字编码。假设上述这种16进制的内存编码序列经过交织编码处理后,可以得到2进制的编码序列。
56.本领域的技术人员可以理解,交织编码的目的不是降低进制,而是改变编码方式,进而节省内存。
57.采取此方案的好处是,经过交织编码处理后,编码文件的内存变小,在工程编译的时候加快编译速度从而达到优化的目的。
58.s204、通过第一线程向android系统中的主线程发送目标编码文件。
59.本实施例中,在通过子线程完成交织编码的基础上,需要将目标编码文件发送至主线程,使得主线程得以进行下一步的操作。
60.其中,主线程是android代码里常见的线程类型,主线程叫做thread main。主线程负责处理用户界面的绘制、响应用户交互和执行其他与界面相关的任务。
61.可以采取多种方式,完成通过第一线程向android系统中的主线程发送目标编码文件,例如,采取调用dispatch_get_main_queue()的方法。
62.本实施例提供了一种应用程序包的优化方法,该方法首先接收调用请求;随后,根据调用请求,通过第一线程获取目标应用程序的初始编码文件;接着,通过第一线程对初始编码文件进行交织编码处理,得到目标编码文件;最后,通过第一线程向android系统中的主线程发送目标编码文件。该方法通过从内存地址编码的角度出发,调用子线程对资源文件的内存地址进行交织编码处理,并发回给主线程,使得应用程序包所占据的内存变小,进而达到优化应用程序包的目的。
63.图3a为本技术实施例提供的应用程序包的优化方法流程图二。如图3a所示,本实施例的方法,在图2所示的实施例的基础上,对通过第一线程对初始编码文件进行交织编码处理,得到目标编码文件的过程进行详细的表述。
64.s301、在初始编码文件中获取多个初始编码数据;
65.本实施例中,在根据调用请求,通过第一线程获取目标应用程序的初始编码文件的基础上,对初始编码文件中的初始编码数据进行交织编码处理。因为本技术中是使用寄存单元和加法单元,依次对初始编码数字进行处理的,所以需要获取多个初始编码数据,并逐一处理。
66.s302、通过第一寄存器对初始编码数据进行处理,得到第一中间编码数据;
67.本实施例中,寄存单元中的寄存器数量可以设置为不同的数量和不同的联通方式。具体的,如图3b所示,图3b为本技术提供的交织编码流程图,其中,b1、b2以及b3为第一寄存器、第二寄存器和第三寄存器,a1、a2以及a3为第一加法器、第二加法器和第三加法器,c1、c2以及c3为第一目标编码数据、第二目标编码数据和第三目标编码数据。
68.本实施例中,设置寄存单元中包括第一寄存器b1、第二寄存器b2和第三寄存器b3,并且第二寄存器b2的输入是第一寄存器b1的输出,第三寄存器b3的输入是第二寄存器b2的输出。如图3b所示,当初始编码数据进入寄存器单元时,首先进入第一寄存器b1,经过处理之后,输出四个第一中间编码数据,分别为a、b、c、g,这四个第一中间编码数据相同。
69.s303、通过第二寄存器对第一中间编码数据进行处理,得到第二中间编码数据;
70.如图3b所示,第二寄存器b2的输入为第一中间编码数据,通过第二寄存器对第一中间编码数据进行处理之后,可以得到两个第二中间编码数据,分别为d和h,这两个第二中间编码数据相同。
71.s304、通过第三寄存器对第二中间编码数据进行处理,得到第三中间编码数据;
72.如图3b所示,第三寄存器b3的输入为第二中间编码数据,通过第三寄存器对第二中间编码数据进行处理之后,可以得到两个第三中间编码数据,分别为e和f,这两个第三中
间编码数据相同。
73.可选地,在使用寄存器对初始编码数据进行处理时,可以采取多种方案。例如,通过第一寄存器对初始编码数据进行处理,得到第一中间编码数据之后,方法还包括:
74.将第一中间编码数据存储至第二寄存器;
75.通过第二寄存器对第一中间编码数据进行处理,得到第二中间编码数据之后,还包括:
76.将第二中间编码数据存储至第三寄存器;
77.通过第三寄存器对第二中间编码数据进行处理,得到第三中间编码数据。
78.本实施例中,寄存器中一次只能存储一个编码数据,且初始存储的为预设值。如图3b所示,当一个初始编码数据进入第一寄存器b1之后,第一寄存器b1将原本存储在其中的编码数据输出作为第一中间编码数据(a,b,c和g),将初始编码数据存储在第一寄存器b1中。随后,第一中间编码数据(g)又会进入第二寄存器b2。与第一寄存器b1类似的,第二寄存器b2将原本存储在其中的编码数据输出作为第二中间编码数据(d和h),将第一中间编码数据(g)存储在第二寄存器b2中。随后,第二中间编码数据(h)又会进入第三寄存器b3。与第一寄存器b1类似的,第三寄存器b3将原本存储在其中的编码数据输出作为第三中间编码数据(e和f),将第二中间编码数据(h)存储在第三寄存器b3中。
79.因此,寄存器当前的输出其实取决于处理前寄存器存储的值,因此,通过至少一个寄存单元和至少一个加法单元对初始编码数字进行处理,得到初始编码数据对应的目标编码数据之后,还需要将至少一个寄存单元中的存储的数据恢复为预设值。这样才不会影响新一轮的初始编码数据的处理。
80.s305、通过第一加法器对第一中间编码数据进行处理,得到第一目标编码数据;
81.本实施例中,加法单元中的寄存器数量可以设置为不同的数量和不同的联通方式。具体的,如图3b所示,设置加法单元中包括第一加法器a1、第二加法器a2和第三加法器a3,与寄存器不同的是,三个加法器之间并不相连。第一加法器a1的输入只有第一中间编码数据(a),输出为第一目标编码数据c1。即第一加法器a1对第一中间编码数据进行处理之后,得到第一目标编码数据c1。
82.s306、通过第二加法器对第一中间编码数据和第三中间编码数据进行处理,得到第二目标编码数据;
83.如图3b所示,第二加法器a2的输入有第一中间编码数据(b)和第二中间编码数据(e),输出为第二目标编码数据c2。即第二加法器a2对第一中间编码数据和第二中间编码数据进行处理之后,得到第二目标编码数据c2。
84.s307、通过第三加法器对第一中间编码数据、第二中间编码数据以及第三中间编码数据进行处理,得到第三目标编码数据;
85.如图3b所示,第三加法器a3的输入有第一中间编码数据(c)、第二中间编码数据(d)以及第三中间编码数据(f),输出为第三目标编码数据c2。即第三加法器a3对第一中间编码数据、第二中间编码数据以及第三中间编码数据进行处理之后,得到第三目标编码数据c3。
86.s308、确定目标编码文件,目标编码文件包括每个初始编码数据对应的目标编码数据。
87.本实施例中,当初始编码数据为多个的时候,需要依次对每个编码数据进行处理。例如,当多个初始编码数据为0x1010时,按照输入1,0,1,0这四个比特的顺序依次输入图3b所示的寄存单元和加法单元中,最终经过交织以后的编码序列是101100101100即12位。因此,获取目标编码数据时,需要按照一定顺序,依次进行,进而确定目标编码文件。
88.采取此方案的好处是,采取三个寄存器和三个加法器对初始编码文件进行交织编码处理,得到目标编码文件,使得目标编码文件所占的内存得以缩小,进而达到优化应用程序包的目的。
89.本实施例提供了一种应用程序包的优化方法,该方法首先在初始编码文件中获取多个初始编码数据;通过第一寄存器对初始编码数据进行处理,得到第一中间编码数据;通过第二寄存器对第一中间编码数据进行处理,得到第二中间编码数据;通过第三寄存器对第二中间编码数据进行处理,得到第三中间编码数据;通过第一加法器对第一中间编码数据进行处理,得到第一目标编码数据;通过第二加法器对第一中间编码数据和第三中间编码数据进行处理,得到第二目标编码数据;通过第三加法器对第一中间编码数据、第二中间编码数据以及第三中间编码数据进行处理,得到第三目标编码数据;确定目标编码文件。该方法采取三个寄存器和三个加法器对初始编码文件进行交织编码处理,得到目标编码文件,使得目标编码文件所占的内存得以缩小,进而达到优化应用程序包的目的。
90.图4为本技术实施例提供的应用程序包的优化方法流程图三。如图4所示,本实施例的方法,在图2所示的实施例的基础上,对通过第一加法器、第二加法器以及第三加法器,对第一中间编码数据、第二中间编码数据以及第三中间编码数据进行处理,得到目标编码数据的过程进行详细的表述。
91.s401、将第一中间编码数据,确定为第一加法器输出的第一目标编码数据;
92.本实施例中,如图3b所示,第一加法器a1的输入只有一个,即为第一中间编码数据(a),此时即将第一中间编码数据(a)确定为第一加法器输出的第一目标编码数据c1。
93.s402、对第一中间编码数据和第三中间编码数据进行模二加法处理,得到第二目标编码数据;
94.本实施例中,模二加法是一种二进制的运算,等同于“异或”运算。通常用于计算机和电子领域。规则如下:1+1=0+0=0;1+0=0+1=1。
95.如图3b所示,第二加法器a2的输入有两个,分别为第一中间编码数据(b)和第三中间编码数据(e),此时则由第二加法器a2对两个输入进行模二加法处理,即可得到第二目标编码数据c2。
96.s403、对第一中间编码数据、第二中间编码数据以及第三中间编码数据进行模二加法处理,得到第三目标编码数据。
97.本实施例中,如图3b所示,第三加法器a3的输入有三个,分别为第一中间编码数据(c)、第二中间编码数据(d)以及第三中间编码数据(f),此时则由第三加法器a3对三个输入进行模二加法处理,即可得到第三目标编码数据c3。
98.在实际的应用中,加法单元中包括的加法器的数量是可以设置的,同时,每个加法器的输入也可以设置。具体的,如图3b所示,当加法单元中包括第一加法器a1、第二加法器a2和第三加法器a3时,三个加法器的输入的中间编码数据的数量并不相同。同时,当加法器的输入不同时,采用的处理方法也不同,即并不局限于模二加法,也可以采用其他方式进行
处理。
99.本实施例提供了一种应用程序包的优化方法,该方法首先将第一中间编码数据,确定为第一加法器输出的第一目标编码数据;随后,对第一中间编码数据和第三中间编码数据进行模二加法处理,得到第二目标编码数据;最后,对第一中间编码数据、第二中间编码数据以及第三中间编码数据进行模二加法处理,得到第三目标编码数据。该方法通过使用三个加法器对三个中间编码数据分别进行处理,得到目标编码数据,使得目标编码文件所占的内存得以缩小,进而达到优化应用程序包的目的。
100.下面以一个具体的实施例,对本技术的技术方案进行详细说明。
101.假设图片a的内存地址编码是0x1010,0x代表的是十六进制,不参与编码。接下来按照输入1,0,1,0这四个比特的顺序,输入如图3b所示的寄存单元和加法单元进行处理,具体过程如下:
102.假设第一寄存器b1、第二寄存器b2和第三寄存器b3的预设值都为0。第一个输入的编码数字是1,此时这个1进入第一寄存器b1,所以b1=1,那么第一寄存器b1原本的值0就会跑出来,到了第一中间编码数据(a,b,c和g)四个线上,即a=0,b=0,c=0,g=0。而且g的0,是要进入到第二寄存器b2,b2=0,那么第二寄存器b2原本的值0就会跑出来,到了第二中间编码数据(d和h)两个线上,即d=0,h=0。同理,h的0是要进入到第三寄存器b3,b3=0,那么第三寄存器b3原本的值0就会跑出来,到了第三中间编码数据(e和f)两个线上,即e=0,f=0。此时第一加法器输出第一目标编码数据c1=a=0,第二加法器输出第二目标编码数据c2=b
⊕
e=0
⊕
0=0,第三加法器输出第三目标编码数据c3=c
⊕d⊕
f=0
⊕0⊕
0=0。
103.所以本次输出为c1 c2 c3=000。而且此时第一寄存器b1、第二寄存器b2和第三寄存器b3从初始值000变成100,用于下一个数字输入时参与计算。
104.第二个输入的数字是0,此时这个0进入第一寄存器b1,所以b1=0,那么第一寄存器b1刚才的值1就会跑出来,到了第一中间编码数据(a,b,c和g)四个线上,即a=1,b=1,c=1,g=1。而且g的1,是要进入到第二寄存器b2,b2=1,那么第二寄存器b2原本的值0就会跑出来,到了第二中间编码数据(d和h)两个线上,即d=0,h=0。同理,h的0是要进入到寄存器第三寄存器b3,b3=0,那么第三寄存器b3原本的值0就会跑出来,到了第三中间编码数据(e和f)两个线上,即e=0,f=0。此时第一加法器输出第一目标编码数据c1=a=1,第二加法器输出第二目标编码数据c2=b
⊕
e=1
⊕
0=1,第三加法器输出第三目标编码数据c3=c
⊕d⊕
f=1
⊕0⊕
0=1。
105.所以本次输出为c1 c2 c3=111。而且此时第一寄存器b1、第二寄存器b2和第三寄存器b3从第一步结束后的100变成现在的010,用于下一个数字输入时参与计算。
106.第三个输入的数字是1,此时这个1进入第一寄存器b1,所以b1=1,那么第一寄存器b1刚才的值0就会跑出来,到了第一中间编码数据(a,b,c和g)四个线上,即a=0,b=0,c=0,g=0。而且g的0,是要进入到第二寄存器b2,b2=0,那么第二寄存器b2原本的值1就会跑出来,到了第二中间编码数据(d和h)两个线上,即d=1,h=1,同理,h的1是要进入到第三寄存器b3,b3=1,那么第三寄存器b3原本的值0就会跑出来,到了第三中间编码数据(e和f)两个线上,即e=0,f=0。此时第一加法器输出第一目标编码数据c1=a=0,第二加法器输出第二目标编码数据c2=b
⊕
e=0
⊕
0=0,第三加法器输出第三目标编码数据c3=c
⊕d⊕
f=0
⊕1⊕
0=1。
107.所以本次输出为c1 c2 c3=001。而且此时第一寄存器b1、第二寄存器b2和第三寄存器b3从第二步结束后的010变成现在的101,用于下一个数字输入时参与计算。
108.同理可得,当第四个输入的数字为0时,本次输出为c1 c2 c3=100。而且此时第一寄存器b1、第二寄存器b2和第三寄存器b3从第三步结束后的001变成现在的010。经过依次生成对应的输出,最终交织编码处理以后的内存地址编码的序列是000111001100,即12位2进制数字。采用此方法,使得目标编码文件所占的内存得以缩小,进而达到优化应用程序包的目的。
109.图5为本技术实施例提供的一种应用程序包的优化装置的结构示意图。本实施例的装置可以为软件和/或硬件的形式。如图5所示,本技术实施例提供的一种应用程序包的优化装置500,包括接收模块501、获取模块502、处理模块503以及发送模块504,
110.接收模块501,用于接收调用请求,调用请求用于请求第一线程对目标应用程序的编码文件进行处理,第一线程为android系统中的子线程;
111.获取模块502,用于根据调用请求,通过第一线程获取目标应用程序的初始编码文件;
112.处理模块503,用于通过第一线程对初始编码文件进行交织编码处理,得到目标编码文件,目标编码的编码进制小于第一编码文件的编码进制;
113.发送模块504,用于通过第一线程向android系统中的主线程发送目标编码文件。
114.一种可能的实现方式中,处理模块503具体用于:
115.在初始编码文件中获取多个初始编码数据;
116.针对任意一个初始编码数据,通过至少一个寄存单元和至少一个加法单元对初始编码数字进行处理,得到初始编码数据对应的目标编码数据;
117.确定目标编码文件,目标编码文件包括每个初始编码数据对应的目标编码数据。
118.一种可能的实现方式中,处理模块503具体用于:
119.通过第一寄存器对初始编码数据进行处理,得到第一中间编码数据;
120.通过第二寄存器对第一中间编码数据进行处理,得到第二中间编码数据;
121.通过第三寄存器对第二中间编码数据进行处理,得到第三中间编码数据;
122.通过至少一个加法单元对第一中间编码数据、第二中间编码数据以及第三中间编码数据进行处理,得到目标编码数据。
123.一种可能的实现方式中,处理模块503具体用于:
124.通过第一加法器对第一中间编码数据进行处理,得到第一目标编码数据;
125.通过第二加法器对第一中间编码数据和第三中间编码数据进行处理,得到第二目标编码数据;
126.通过第三加法器对第一中间编码数据、第二中间编码数据以及第三中间编码数据进行处理,得到第三目标编码数据。
127.一种可能的实现方式中,处理模块503具体用于:
128.将第一中间编码数据存储至第二寄存器;
129.通过第二寄存器对第一中间编码数据进行处理,得到第二中间编码数据之后,还包括:
130.将第二中间编码数据存储至第三寄存器;
131.通过第三寄存器对第二中间编码数据进行处理,得到第三中间编码数据。
132.一种可能的实现方式中,处理模块503具体用于:
133.将第一中间编码数据,确定为第一加法器输出的第一目标编码数据。
134.一种可能的实现方式中,处理模块503具体用于:
135.对第一中间编码数据和第三中间编码数据进行模二加法处理,得到第二目标编码数据。
136.一种可能的实现方式中,处理模块503具体用于:
137.对第一中间编码数据、第二中间编码数据以及第三中间编码数据进行模二加法处理,得到第三目标编码数据。
138.一种可能的实现方式中,处理模块503具体用于:
139.将至少一个寄存单元中的存储的数据恢复为预设值。
140.本实施例提供的应用程序包的优化装置,可用于执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
141.本技术实施例提供一种电子设备的结构示意图,请参见图6,该电子设备20可以包括处理器21和存储器22。示例性地,处理器21、存储器22,各部分之间通过总线23相互连接。
142.存储器22存储计算机执行指令;
143.处理器21执行存储器22存储的计算机执行指令,使得电子设备执行如上述的应用程序包的优化方法。
144.应理解,上述处理器21可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。存储器22可能包含高速随机存取存储器(英文:random access memory,简称:ram),也可能还包括非易失性存储器(英文:non-volatile memory,简称:nvm),例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
145.本技术实施例相应还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现的应用程序包的优化方法。
146.本技术实施例相应还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现应用程序包的优化方法。
147.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求书指出。
148.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。
技术特征:
1.一种应用程序包的优化方法,其特征在于,包括:接收调用请求,所述调用请求用于请求第一线程对目标应用程序的编码文件进行处理,所述第一线程为android系统中的子线程;根据所述调用请求,通过所述第一线程获取所述目标应用程序的初始编码文件;通过所述第一线程对所述初始编码文件进行交织编码处理,得到目标编码文件,所述目标编码的编码进制小于所述第一编码文件的编码进制;通过所述第一线程向所述android系统中的主线程发送所述目标编码文件。2.根据权利要求1所述的方法,其特征在于,通过所述第一线程对所述初始编码文件进行交织编码处理,得到目标编码文件,包括:在所述初始编码文件中获取多个初始编码数据;针对任意一个初始编码数据,通过至少一个寄存单元和至少一个加法单元对初始编码数字进行处理,得到所述初始编码数据对应的目标编码数据;确定所述目标编码文件,所述目标编码文件包括每个初始编码数据对应的目标编码数据。3.根据权利要求2所述的方法,其特征在于,所述寄存单元包括第一寄存器、第二寄存器和第三寄存器;通过至少一个寄存单元和至少一个加法单元对初始编码数据进行处理,得到所述初始编码数据对应的目标编码数据,包括:通过所述第一寄存器对所述初始编码数据进行处理,得到第一中间编码数据;通过所述第二寄存器对所述第一中间编码数据进行处理,得到第二中间编码数据;通过所述第三寄存器对所述第二中间编码数据进行处理,得到第三中间编码数据;通过所述至少一个加法单元对所述第一中间编码数据、所述第二中间编码数据以及所述第三中间编码数据进行处理,得到所述目标编码数据。4.根据权利要求3所述的方法,其特征在于,所述加法单元包括第一加法器、第二加法器和第三加法器;通过所述至少一个加法单元对所述第一中间编码数据、所述第二中间编码数据以及所述第三中间编码数据进行处理,得到所述目标编码数据,包括:通过所述第一加法器对所述第一中间编码数据进行处理,得到第一目标编码数据;通过所述第二加法器对所述第一中间编码数据和所述第三中间编码数据进行处理,得到第二目标编码数据;通过所述第三加法器对所述第一中间编码数据、所述第二中间编码数据以及所述第三中间编码数据进行处理,得到第三目标编码数据。5.根据权利要求3或4所述的方法,其特征在于,通过所述第一寄存器对所述初始编码数据进行处理,得到第一中间编码数据之后,所述方法还包括:将所述第一中间编码数据存储至所述第二寄存器;通过所述第二寄存器对所述第一中间编码数据进行处理,得到第二中间编码数据之后,还包括:将所述第二中间编码数据存储至所述第三寄存器;通过所述第三寄存器对所述第二中间编码数据进行处理,得到第三中间编码数据。6.根据权利要求4或5所述的方法,其特征在于,通过所述第一加法器对所述第一中间编码数据进行处理,得到第一目标编码数据,包括:
将所述第一中间编码数据,确定为所述第一加法器输出的所述第一目标编码数据。7.根据权利要求4或5所述的方法,其特征在于,通过所述第二加法器对所述第一中间编码数据和所述第三中间编码数据进行处理,得到第二目标编码数据,包括:对所述第一中间编码数据和所述第三中间编码数据进行模二加法处理,得到所述第二目标编码数据。8.根据权利要求4或5所述的方法,其特征在于,通过所述第三加法器对所述第一中间编码数据、所述第二中间编码数据以及所述第三中间编码数据进行处理,得到第三目标编码数据,包括:对所述第一中间编码数据、所述第二中间编码数据以及所述第三中间编码数据进行模二加法处理,得到第三目标编码数据。9.根据权利要求2-8任一项所述的方法,其特征在于,通过至少一个寄存单元和至少一个加法单元对初始编码数字进行处理,得到所述初始编码数据对应的目标编码数据之后,所述方法还包括:将所述至少一个寄存单元中的存储的数据恢复为预设值。10.一种应用程序包的优化装置,其特征在于,包括:接收模块,用于接收调用请求,所述调用请求用于请求第一线程对目标应用程序的编码文件进行处理,所述第一线程为android系统中的子线程;获取模块,用于根据所述调用请求,通过所述第一线程获取所述目标应用程序的初始编码文件;处理模块,用于通过所述第一线程对所述初始编码文件进行交织编码处理,得到目标编码文件,所述目标编码的编码进制小于所述第一编码文件的编码进制;发送模块,用于通过所述第一线程向所述android系统中的主线程发送所述目标编码文件。11.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至9任一项所述的方法。12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至9任一项所述的方法。
技术总结
本申请提供一种应用程序包的优化方法、装置、设备及存储介质,涉及金融科技领域或其他相关领域。该方法包括:接收调用请求,所述调用请求用于请求第一线程对目标应用程序的编码文件进行处理,所述第一线程为Android系统中的子线程;根据所述调用请求,通过所述第一线程获取所述目标应用程序的初始编码文件;通过所述第一线程对所述初始编码文件进行交织编码处理,得到目标编码文件,所述目标编码的编码进制小于所述第一编码文件的编码进制;通过所述第一线程向所述Android系统中的主线程发送所述目标编码文件。本申请的方法,使得应用程序包所占据的内存变小,进而达到优化应用程序包的目的。序包的目的。序包的目的。
技术研发人员:韩维 袁哲
受保护的技术使用者:中国工商银行股份有限公司
技术研发日:2023.07.17
技术公布日:2023/9/16
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
