一种加载应用和升级应用的方法及终端设备技术

技术编号:32211727 阅读:24 留言:0更新日期:2022-02-09 17:17
一种加载应用和升级应用的方法及终端设备,涉及终端技术领域,能够降低终端设备的内存占用率,从而提升终端设备的操作系统性能。该加载应用的方法包括:终端设备开机启动(S101);并扫描第一应用(S102);且终端设备确定第一应用为实现公共特性功能的应用(S103);以及终端设备采用系统类加载器将第一应用加载到终端设备的内存(S104)。载到终端设备的内存(S104)。载到终端设备的内存(S104)。

【技术实现步骤摘要】
一种加载应用和升级应用的方法及终端设备
[0001]本申请要求于2017年10月09日提交中国专利局、申请号为201710931606.0、申请名称为“一种加载应用和升级应用的方法及终端设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。


[0002]本申请涉及终端
,尤其涉及一种加载应用和升级应用的方法及终端设备。

技术介绍

[0003]随着终端技术的不断发展,具有操作系统的终端设备越来越多。通常,终端设备厂商和应用(application,APP)厂商可以基于终端设备的操作系统开发一些多个应用(包括系统应用和第三方应用)可以通用的功能模块,这些通用的功能模块称为公共特性功能。
[0004]目前,应用厂商会把公共特性功能打包到应用中,这样,如果启动应用,那么终端设备的操作系统在加载该应用时,会将该应用中的公共特性功能也加载到内存中,从而应用可以实现该公共特性功能提供的功能。
[0005]然而,当终端设备中有多个应用使用同一个公共特性功能时,这个公共特性功能可能会被终端设备的操作系统重复加载多次,这样,使得终端设备的内存占用率比较高,从而影响终端设备的操作系统性能。

技术实现思路

[0006]本申请提供一种加载应用和升级应用的方法及终端设备,能够降低终端设备的内存占用率,从而提升终端设备的操作系统性能。
[0007]为达到上述目的,本申请采用如下技术方案:
[0008]第一方面,提供一种加载应用的方法,终端设备开机启动;并扫描第一应用;且终端设备确定该第一应用为实现公共特性功能的应用;以及终端设备采用系统类加载器将该第一应用加载到终端设备的内存。本申请中,由于系统类加载器加载的第一应用为操作系统级别的应用,因此该操作系统中的其他应用可以共享已被加载到内存中的该第一应用,从而以使得共享该第一应用的其他应用启动后可以直接调用内存中的该第一应用,而在启动共享该第一应用的其他应用时无需再加载该第一应用,如此可以避免在启动共享该第一应用的其他应用时该第一应用被重复加载多次,能够降低终端设备的内存占用率,提升终端设备的操作系统性能。
[0009]在第一方面的第一种可选的实现方式中,上述终端设备确定第一应用为实现公共特性功能的应用的方法包括:终端设备根据预定义的公共特性功能列表中包括的第一应用的标识,确定该第一应用为实现公共特性功能的应用。如此,终端设备可以通过预定义的公共特性功能列表确定第一应用为实现公共特性功能的应用。
[0010]在第一方面的第二种可选的实现方式中,上述终端设备确定第一应用为实现公共
特性功能的应用的方法包括:终端设备查询预定义的公共特性功能列表中是否包括第一应用的标识;并在该公共特性功能列表中包括该第一应用的标识的情况下,终端设备确定该第一应用为实现公共特性功能的应用。如此,终端设备可以通过预定义的公共特性功能列表确定第一应用是否为实现公共特性功能的应用。
[0011]在第一方面的第三种可选的实现方式中,上述终端设备确定第一应用为实现公共特性功能的应用的方法包括:终端设备读取第一应用的第一属性(该第一属性用于指示该第一应用是否为实现公共特性功能的应用);并在该第一属性指示该第一应用为实现公共特性功能的应用的情况下,终端设备确定该第一应用为实现公共特性功能的应用。如此,终端设备可以通过识别应用的属性确定应用是否为实现公共特性功能的应用。
[0012]在第一方面的第四种可选的实现方式中,上述终端设备采用系统类加载器将第一应用加载到终端设备的内存之后,本申请实施例提供的加载应用的方法还可以由终端设备启动终端设备中的第二应用;并创建该第二应用的路径类加载器;且在该第二应用为终端设备中调用第一应用的应用的情况下,终端设备设置该路径类加载器的父类加载器为系统类加载器;以及终端设备采用该系统类加载器将该第二应用加载到终端设备的内存。本申请中,由于终端设备采用系统类加载器加载实现公共特性功能的第一应用,并且采用系统类加载器加载调用第一应用的第二应用,因此能够使得第二应用启动后,终端设备可以基于第二应用查找到第一应用,即使得第二应用能够通过调用第一应用正常为用户提供第一应用实现的公共特性功能。
[0013]在第一方面的第五种可选的实现方式中,本申请实施例提供的加载应用的方法还可以由终端设备向服务器发送用于向服务器请求升级补丁包的升级补丁请求消息(该升级补丁包用于在成员粒度直接升级第三应用,该第三应用为终端设备中的系统应用);并且终端设备接收服务器发送的该升级补丁包;以及终端设备采用该升级补丁包,在成员粒度直接升级该第三应用。本申请中,一方面,由于终端设备向服务器请求的升级补丁包是用于在成员粒度升级第三应用的,因此,与现有技术中在类粒度(一个类包括多个成员)升级应用相比,本申请实施例中的升级补丁包更小,如此,可以降低升级补丁包占用的资源,并且可以缩短升级补丁包的发布周期,从而使得第三应用可以快速修复。另一方面,由于本申请实施例中是直接升级第三应用的,因此与现有技术中通过升级终端设备的操作系统升级应用相比,本申请实施例中升级第三应用后无需重启终端设备的操作系统,从而使得第三应用可以更快速地修复。
[0014]第二方面,提供一种升级应用的方法,终端设备向服务器发送用于向服务器请求升级补丁包的升级补丁请求消息(该升级补丁包用于在成员粒度直接升级应用,该应用为终端设备中的系统应用);并且终端设备接收服务器发送的该升级补丁包;以及终端设备采用该升级补丁包,在成员粒度直接升级该应用。
[0015]第三方面,提供一种终端设备,该终端设备可以包括启动模块、扫描模块、确定模块和加载模块。启动模块用于开机启动;扫描模块用于扫描第一应用;确定模块用于确定该第一应用为实现公共特性功能的应用;加载模块用于采用系统类加载器将该第一应用加载到终端设备的内存。
[0016]在第三方面的第一种可选的实现方式中,上述确定模块具体用于根据预定义的公共特性功能列表中包括的第一应用的标识,确定该第一应用为实现公共特性功能的应用。
[0017]在第三方面的第二种可选的实现方式中,上述确定模块具体用于查询预定义的公共特性功能列表中是否包括第一应用的标识;并在该公共特性功能列表中包括该第一应用的标识的情况下,确定该第一应用为实现公共特性功能的应用。
[0018]在第三方面的第三种可选的实现方式中,上述确定模块具体用于读取第一应用的第一属性(该第一属性用于指示该第一应用是否为实现公共特性功能的应用);并在该第一属性指示该第一应用为实现公共特性功能的应用的情况下,确定该第一应用为实现公共特性功能的应用。
[0019]在第三方面的第四种可选的实现方式中,本申请实施例提供的终端设备还可以包括创建模块和设置模块。启动模块还用于启动终端设备中的第二应用;创建模块用于创建启动模块启动的第二应用的路径类加载器;设置模块用于在启动模块启动的第二应用为终端设备中调用第一应用的应用的情况下,设置创建模块创建的该路径类加载器的父类加载器为系统类加载器;加载模块还本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种升级应用的方法,其特征在于,包括:终端设备向服务器发送升级补丁请求消息,所述升级补丁请求消息用于向所述服务器请求升级补丁包,所述升级补丁包用于在成员粒度直接升级应用,所述应用为所述终端设备中的系统应用,其中,所述成员是指应用的类的成员;所述终端设备接收所述服务器发送的所述升级补丁包;所述终端设备采用所述升级补丁包,在成员粒度直接升级所述应用。2.根据权利要求1所述的方法,其特征在于,所述升级补丁包中包括至少一个资源和至少一个标识,每个标识用于唯一标识一个资源,所述至少一个资源包括第一资源和第二资源中的至少一个,所述第一资源用于修复所述应用的原有资源,所述第二资源为所述应用的新增资源。3.根据权利要求1或2所述的方法,其特征在于,所述标识为类的成员,所述资源为数字、文字、图片和文件中的一个或多个的组合。4.根据权利要求1所述的方法,其特征在于,所述每个标识用于唯一标识一个资源,包括,所述标识用于指示资源的名称或者存放地址。5.根据权利要求1所述的方法,其特征在于,所述在成员粒度直接升级所述应用,包括生成并扩展idmap,执行所述idmap中的代码,用第三应用的修复资源替换第三应用的原有资源。6.根据权利要求5所述的方法,其特征在于,所述在成员粒度直接升级所述应用,还包括,将第三应用的新增资源添加到第三应用中其他资源的后面。7.一种终端设备,其特征在于,包括发送器、接收器、处理器、与所述处理器耦合的存储器,以及一个或多个计算机程序,所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括计算机指令,当所述计算机指令被所述处理器执行时,...

【专利技术属性】
技术研发人员:涂小兵陈浩周平科郭威林英禄陈家昌
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1