基于AAR的进程处理方法、装置及电子设备制造方法及图纸

技术编号:35675158 阅读:20 留言:0更新日期:2022-11-23 14:12
本公开提供了一种基于AAR的进程处理方法、装置、电子设备和计算机可读存储介质,所述方法包括:将目标应用程序拆分成主进程和至少一个子进程;根据所述至少一个子进程,生成第一子进程号和第二子进程号;创建至少一个AAR,每个AAR对应一个所述第二子进程号;在每一AAR中设置独立进程载体,所述独立进程载体包括表征独立进程的子进程属性;在每一AAR中设置Android接口定义语言文件;在所述Android接口定义语言文件中配置一个桥接类接口,通过所述桥接类接口与所述主进程通信。根据本公开的进程处理方法,将一个应用拆分成主进程和至少一个子进程,一方面享受更多的内存分配,实现负载均衡,另一方面更好的进行进程保活。另一方面更好的进行进程保活。另一方面更好的进行进程保活。

【技术实现步骤摘要】
基于AAR的进程处理方法、装置及电子设备


[0001]本公开涉及进程处理领域,尤其涉及一种基于AAR(Android Archive)的进程处理的方法、装置及电子设备。

技术介绍

[0002]随着手机技术的发展,在手机上安装的应用程序越来越多,且每个应用的插件越来越多,占用的内存越来越大,因而在Android操作系统中,存在较多应用程序同时运行时,往往会导致这些应用程序运行起来会造成手机卡顿,甚至死机,给用户带来很多的不便。
[0003]目前,现有的Android系统为了保证系统的稳定性,给每一个进程分配了固定的内存大小,当进程使用的内存超出了系统分配的内存阈值时,就会发生内存溢出的异常,导致应用崩溃。因而,如何解决较大应用在进程中的内存占用问题成为业界的一大难题。

技术实现思路

[0004]为了解决上述技术问题,对于大型的应用来说,很有必要把一个应用拆分成更多的进程,一方面享受更多的内存分配,实现负载均衡,另一方面更好的进行进程保活。本公开实施方式的目的在于提供一种视觉惯性里程计方法、装置、电子设备及存储介质。
[0005]根据本公开第一方面,本公开的实施例提供了一种基于AAR的进程处理的方法,其中,AAR(Android Archive),AAR包是一个Android库项目的二进制归档文件,文件扩展名是.aar),该方法包括:
[0006]将目标应用程序拆分成主进程和至少一个子进程;
[0007]根据所述至少一个子进程,生成第一子进程号和第二子进程号;
[0008]创建至少一个AAR,每个AAR对应一个所述第二子进程号;
[0009]在每一AAR中设置独立进程载体,所述独立进程载体包括表征独立进程的子进程属性;
[0010]在每一AAR中设置Android接口定义语言文件;
[0011]在所述Android接口定义语言文件中配置一个桥接类接口,通过所述桥接类接口与所述主进程通信。
[0012]进一步的,所述主进程和所述至少一个子进程的依赖环境相互独立。
[0013]进一步的,所述根据所述至少一个子进程,生成第一子进程号和第二子进程号,包括:
[0014]获取所述至少一个子进程的进程序号,根据所述进程序号生成第一子进程号;
[0015]根据所述子进程与所述目标应用的关联属性生成第二子进程号;
[0016]进一步的,所述所述关联属性包括所述目标应用拆分的子进程数量、子进程架构、子进程顺序以及子进程与主进程的通信链路。
[0017]进一步的,所述创建至少一个AAR,每个AAR对应一个所述第二子进程号,包括:
[0018]提取所述第二子进程的属性特征;
[0019]基于所述AAR的独立插件属性,将所述第二子进程的属性特征封装成至少一个AAR;
[0020]将所述AAR设计成独立进程,并与所述主进程实现通信。
[0021]进一步的,所述在每一AAR中设置独立进程载体,所述独立进程载体包括表征独立进程的子进程属性,包括:
[0022]在每一AAR中设置至少一个独立进程载体;
[0023]在所述独立进程载体中配置程序清单文件,所述程序清单文件中添加进程属性;
[0024]将表征独立进程的子进程属性记录在所述进程属性中。
[0025]进一步的,所述在每一AAR中设置Android接口定义语言文件,包括:
[0026]在每一AAR中设置基于跨进程通信机制的Android接口定义语言文件;
[0027]将所述Android接口定义语言文件中的通信信息封装在所述AAR中。
[0028]进一步的,所述在所述Android接口定义语言文件中配置一个桥接类接口,通过所述桥接类接口与所述主进程通信,包括:
[0029]在所述Android接口定义语言文件中配置一个提供所有对外访问的桥接类接口;
[0030]所述主进程通过所述桥接类接口与所述AAR进行通信;
[0031]将所述桥接类接口封装在所述AAR中,隐藏进程间的通信信息。
[0032]第二方面,本公开另一实施例提供了一种基于AAR的进程处理装置,包括:
[0033]拆分模块,用于将目标应用程序拆分成主进程和至少一个子进程;
[0034]生成模块,用于根据所述至少一个子进程,生成第一子进程号和第二子进程号;
[0035]创建模块,用于创建至少一个AAR,每个AAR对应一个所述第二子进程号;
[0036]第一设置模块,用于在每一AAR中设置独立进程载体,所述独立进程载体包括表征独立进程的子进程属性;
[0037]第二设置模块,用于在每一AAR中创建Android接口定义语言文件;
[0038]配置模块,用于在所述Android接口定义语言文件中配置一个桥接类接口,通过所述桥接类接口与所述主进程通信。
[0039]第三方面,本公开另一实施例提供一种电子设备,包括:
[0040]存储器,用于存储计算机可读指令;以及
[0041]处理器,用于运行所述计算机可读指令,使得所述电子设备实现上述第一方面中任意一项所述的方法。
[0042]第四方面,本公开另一实施例提供一种非暂态计算机可读存储介质,用于存储计算机可读指令,当所述计算机可读指令由计算机执行时,使得所述计算机实现上述第一方面中任意一项所述的方法。
[0043]本公开实施例公开了一种基于AAR的进程处理方法、装置、电子设备和计算机可读存储介质,所述方法包括:将目标应用程序拆分成主进程和至少一个子进程;根据所述至少一个子进程,生成第一子进程号和第二子进程号;创建至少一个AAR,每个AAR对应一个所述第二子进程号;在每一AAR中设置独立进程载体,所述独立进程载体包括表征独立进程的子进程属性;在每一AAR中设置Android接口定义语言文件;在所述Android接口定义语言文件中配置一个桥接类接口,通过所述桥接类接口与所述主进程通信。根据本公开的进程处理方法,将一个应用拆分成主进程和至少一个子进程,一方面享受更多的内存分配,实现负载
均衡,另一方面更好的进行进程保活。该AAR子进程可以分担主进程的压力,使得应用程序更加稳定健壮,不易因为内存问题被系统杀死或者产生ANR(Application Not Responding,指在Android上,应用程序响应不够灵敏时,系统会向用户显示的一个对话框),同时该AAR子进程不依赖主进程的生命周期,主进程意外崩溃后,该AAR子进程还可以独立运行,继续其服务或者进行日志收集,还可以和主进程之间实施相互保活,提高应用的存活率。
[0044]上述说明仅是本公开技术方案的概述,为了能更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为让本公开的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
[0045]图1为本公开一实施例提本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于AAR的进程处理方法,其特征在于,包括:将目标应用程序拆分成主进程和至少一个子进程;根据所述至少一个子进程,生成第一子进程号和第二子进程号;创建至少一个AAR,每个AAR对应一个所述第二子进程号;在每一AAR中设置独立进程载体,所述独立进程载体包括表征独立进程的子进程属性;在每一AAR中设置Android接口定义语言文件;在所述Android接口定义语言文件中配置一个桥接类接口,通过所述桥接类接口与所述主进程通信。2.根据权利要求1所述的方法,其特征在于,所述主进程和所述至少一个子进程的依赖环境相互独立。3.根据权利要求1所述的方法,其特征在于,所述根据所述至少一个子进程,生成第一子进程号和第二子进程号,包括:获取所述至少一个子进程的进程序号,根据所述进程序号生成第一子进程号;根据所述子进程与所述目标应用的关联属性生成第二子进程号。4.根据权利要求3所述的方法,其特征在于,所述关联属性包括所述目标应用拆分的子进程数量、子进程架构、子进程顺序以及子进程与主进程的通信链路。5.根据权利要求1所述的方法,其特征在于,所述创建至少一个AAR,每个AAR对应一个所述第二子进程号,包括:提取所述第二子进程的属性特征;基于所述AAR的独立插件属性,将所述第二子进程的属性特征封装成至少一个AAR;将所述AAR设计成独立进程,并与所述主进程实现通信。6.根据权利要求1所述的方法,其特征在于,所述在每一AAR中设置独立进程载体,所述独立进程载体包括表征独立进程的子进程属性,包括:在每一AAR中设置至少一个独立进程载体;在所述独立进程载体中配置程序清单文件,所述程序...

【专利技术属性】
技术研发人员:陈钊清
申请(专利权)人:达闼科技北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1