应用程序的组件加载方法及相关装置制造方法及图纸

技术编号:35119937 阅读:18 留言:0更新日期:2022-10-05 09:48
本申请提供了应用程序的组件加载方法和相关装置。本申请提出的技术方案中,在应用程序的UI线程的运行过程中,基于与所述UI线程并行的线程加载应用程序的全部或部分组件。本申请的技术方案可以避免这些组件的加载时长对应用程序的相关功能的实现速度的影响,提高应用程序的组件加载效率,从而提高应用程序的反应速度和反应效率。应速度和反应效率。应速度和反应效率。

【技术实现步骤摘要】
应用程序的组件加载方法及相关装置


[0001]本申请涉及电子
,尤其涉及应用程序的组件加载方法及相关装置。

技术介绍

[0002]电子设备上的应用程序(application,APP),在运行过程中通常需要加载组件来实现相应的功能。例如,用户界面的显示需要加载相应的活动(Activity)组件,甚至在一些场景中还需要加载服务(service)组件。
[0003]但是,应用程序对应的组件中,会包括加载耗时的组件。应用程序的运行过程中需要使用到这些加载耗时的组件时,会因为这些组件的加载时长较长导致应用程序提供相应功能的效率较低,影响用户的使用。

技术实现思路

[0004]为了解决现有技术中因串行加载组件所导致的应用程序反应慢和效率低的技术问题,本申请提供了下面的组件加载方法和相关装置。本申请提供的技术方案可以提高应用程序的组件加载效率,从而提高应用程序的反应速度和反应效率。
[0005]第一方面,本申请提供了一种应用程序的组件加载方法。该方法包括:运行所述应用程序的第一线程,所述第一线程为所述应用程序的用户界面UI线程;基于第二线程加载所述应用程序的组件,所述第二线程与所述第一线程并行运行。
[0006]本申请的方法中,与应用程序的UI线程并行加载应用程序涉及的全部或部分组件,相比于现有技术中的串行加载,可以避免这些组件的加载时长对应用程序的相关功能的实现速度的影响,提高应用程序的组件加载效率,从而提高应用程序的反应速度和反应效率。
[0007]本申请的方法可以由电子设备的处理器或芯片执行,或者说可以由电子设备的系统、操作系统或系统层执行。
[0008]可选地,第二线程可以是为加载所述组件新建的线程。可选地,所述组件包括活动组件和/或服务组件。
[0009]可选地,所述组件包括加载时长大于或等于预设时长阈值的组件。可以理解,该预设时长阈值可以基于需求进行设置。该实现方式中,并行加载的组件为加载时长大于或等于预设时长阈值的组件,与并行加载所有组件相比,可以避免因组件数量过多而导致的等待活动组件加载费时的问题,从而可以进一步提高应用程序的组件加载效率,从而提高应用程序的反应速度和反应效率。
[0010]所述组件包括活动组件时,在一些实现方式中,所述基于第二线程加载所述应用程序的组件,包括:在所述应用程序的主进程启动阶段,使用所述第二线程加载所述活动组件对应的类文件;在所述应用程序的用户界面切换阶段,使用第三线程根据所述类文件创建空的实例,所述用户界面切换阶段是指起始于用户输入用户界面切换指令的阶段。
[0011]该实现方式中,在多个阶段分别与应用程序的UI线程并行执行活动组件的加载过
程中的不同操作,与在同一个阶段中并行执行活动组件的加载过程中的所有操作相比,可以避免该同一个阶段的时间窗口过短而导致的等待活动组件加载的问题,从而可以进一步提高应用程序的组件加载效率,从而提高应用程序的反应速度和反应效率。
[0012]该实现方式中,可选地,所述第三线程是与所述应用程序的UE线程并行的线程。
[0013]该实现方式中,可选地,所述第二线程与所述第三线程可以是相同的线程,也可以是不同的线程。第二线程与第三线程为不同线程的情况下,作为一种示例,第三线程可以是为创建组件对应的示例新建的线程。
[0014]该实现方式中,可选地,在所述应用程序的用户界面切换阶段使用第三线程根据所述类文件创建空的实例之前,所述方法还包括:接收用户在所述应用程序的第一用户界面中输入的用户界面切换指令,所述用户界面切换指令用于指示切换至第二用户界面,所述第二用户界面中包含所述第一用户界面中的第一控件所描述的第一信息的详细信息;在所述应用程序的用户界面切换阶段使用第三线程根据所述类文件创建空的实例之后,所述方法还包括:根据所述实例显示所述第二用户界面。
[0015]可选地,使用第三线程根据所述类文件创建空的实例之前,先判断是否已经加载相应组件,若没有加载,则新建线程加载组件对应的类文件。
[0016]所述组件包括服务组件时,在一些实现方式中,所述基于第二线程加载所述应用程序的组件,包括:在所述应用程序的主进程启动阶段,使用所述第二线程加载所述服务组件。
[0017]该实现方式中,可选地,所述方法还包括:接收用户在所述应用程序的第三用户界面中输入的用户界面切换指令,所述用户界面切换指令用于指示切换至第四用户界面,所述第三用户界面中包含第一图片,所述第四用户界面中包含第二图片,所述第二图片与所述第一图片包含相同的内容,且所述第二图片的像素高于所述第一图片的像素;根据所述服务组件对应的服务显示所述第四用户界面。
[0018]第二方面,本申请提供了一种应用程序的组件加载装置,该装置包含在电子设备中,该装置具有实现上述任意一个方面或上述任意一个方面中的任意可能实现方式中的方法的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,该装置包括确定模块或单元、异步加载模块或单元等。
[0019]第三方面,本申请提供了一种电子设备,包括:显示屏,一个或多个处理器,存储器,多个应用程序,以及一个或多个计算机程序。其中,一个或多个计算机程序被存储在存储器中,一个或多个计算机程序包括指令。当指令被电子设备执行时,使得电子设备执行上述任一方面或任意方面中任一项可能的实现中的方法。
[0020]第四方面,本申请提供了一种应用程序的组件加载装置,包括一个或多个处理器和一个或多个存储器。该一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得该装置执行上述任一方面或任意方面中任一项可能的实现中的方法。
[0021]可选地,该装置可以是电子设备,也可以是能够应用于电子设备中的芯片。
[0022]第五方面,本技术方案提供了一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述任一方面或任一方面中任一项可能的实现
中的方法。
[0023]第六方面,本技术方案提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述任一方面或任一方面中任一项可能的实现中的方法。
附图说明
[0024]图1为本申请一个实施例的电子设备的硬件结构示意图;
[0025]图2为本申请一个实施例的电子设备的软件结构示意图;
[0026]图3为本申请一个实施例的应用场景的示意图;
[0027]图4为本申请另一个实施例的应用场景示意图;
[0028]图5为本申请一个实施例的组件加载方法的流程示意图;
[0029]图6为本申请另一个实施例的组件加载方法的流程示意图;
[0030]图7为本申请一个实施例的组件加载装置的结构示意图。
具体实施方式
[0031]本申请各个实施例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用程序的组件加载方法,其特征在于,包括:运行所述应用程序的第一线程,所述第一线程为所述应用程序的用户界面UI线程;基于第二线程加载所述应用程序的组件,所述第二线程与所述第一线程并行运行。2.根据权利要求1所述的方法,其特征在于,所述组件包括活动组件时,所述基于第二线程加载所述应用程序的组件,包括:在所述应用程序的主进程启动阶段,使用所述第二线程加载所述活动组件对应的类文件;在所述应用程序的用户界面切换阶段,使用第三线程根据所述类文件创建空的实例,所述用户界面切换阶段是指起始于用户输入用户界面切换指令的阶段。3.根据权利要求2所述的方法,其特征在于,在所述应用程序的用户界面切换阶段使用第三线程根据所述类文件创建空的实例之前,所述方法还包括:接收用户在所述应用程序的第一用户界面中输入的用户界面切换指令,所述用户界面切换指令用于指示切换至第二用户界面,所述第二用户界面中包含所述第一用户界面中的第一控件所描述的第一信息的详细信息;在所述应用程序的用户界面切换阶段使用第三线程根据所述类文件创建空的实例之后,所述方法还包括:根据所述实例显示所述第二用户界面。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述组件包括服务组件时,所述基于第二线程加载所述应用程序的组件,包括:在所述应用程序的主进程启动阶段,使用所述第二线程加载所述服务组件。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:接收用户在所述应用程序的第三用户界面中输入的用户界面切换指令,所述用户界面切换指令用于指示切换至第四用户界面,所述第三用户界面中包含第一图片,所述第四用户界面中包含第二图片,所述第二图片与所述第一图片包含相同的内容,且所述第二图片的像素高于所述第一图片的像素;根据所述服务组件对应的服务显示所述第四用户界面。6.根据权利要求1至5中任一项所述的方法,其特征在于,所述组件包括加载时长大于或等于预设时长阈值的组件。7.一种应用程序的组件加载装置,其特征在于,包括:存储器和处理器;所述存储器用于存储程序指令;...

【专利技术属性】
技术研发人员:陈明王敏
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1