一种应用运行方法、装置、电子设备和存储介质制造方法及图纸

技术编号:31227764 阅读:14 留言:0更新日期:2021-12-08 09:37
本发明专利技术实施例公开了一种应用运行方法、装置、电子设备和存储介质。所述方法包括:在检测到应用程序的启动触发事件时,从应用程序编译阶段生成的可执行文件中,读取业务组件的回调函数的函数指针和所述函数指针对应的生命周期阶段,将所述函数指针写入所述生命周期阶段对应的数据表中;在检测到所述应用程序进入生命周期阶段后,从进入的生命周期阶段所对应的所述数据表中读取函数指针,并执行读取的所述函数指针对应的回调函数。通过本发明专利技术实施例的技术方案,解决了程序主工程与业务组件之间的耦合性问题,并实现了高效、低成本的对业务组件的维护的效果。件的维护的效果。件的维护的效果。

【技术实现步骤摘要】
一种应用运行方法、装置、电子设备和存储介质


[0001]本专利技术实施例涉及计算机技术,尤其涉及一种应用运行方法、装置、电子设备和存储介质。

技术介绍

[0002]安装在终端上的应用程序在启动后会经历多种不同的生命周期阶段,该生命周期阶段包括前台运行阶段、后台运行阶段等。在应用程序进入到某个生命周期阶段时,需要通过调用预先注册在注册表中的业务组件的预设方法函数,来执行一定的处理操作,比如在购物应用程序从前台运行阶段进入到后台运行阶段时,需要通过调用视频业务组件的某一方法函数实现视频的暂停播放,同样的,在购物应用程序从后台运行阶段进入到前台运行阶段时,需要通过调用另一方法函数实现视频的继续播放。
[0003]在实现本专利技术的过程中,专利技术人发现现有技术中至少存在以下技术问题:
[0004]上述现有方案中,应用程序的主工程需要维护针对各个生命周期阶段的注册表,如有新增或删除的业务组件,需要手动对注册表进行插入或删除操作,维护成本高;以及,需要在主工程中引入各个业务组件,增加了主工程与业务组件之间的耦合性,使得主工程与业务组件的独立开发测试存在困难。

技术实现思路

[0005]本专利技术实施例提供了一种应用运行方法、装置、电子设备和存储介质,以解决主工程与业务组件之间的耦合性问题,并实现高效、低成本的对业务组件的维护。
[0006]第一方面,本专利技术实施例提供了一种应用运行方法,该方法包括:
[0007]在检测到应用程序的启动触发事件时,从应用程序编译阶段生成的可执行文件中,读取业务组件的回调函数的函数指针和所述函数指针对应的生命周期阶段,将所述函数指针写入所述生命周期阶段对应的数据表中;
[0008]在检测到所述应用程序进入生命周期阶段后,从进入的生命周期阶段所对应的所述数据表中读取函数指针,并执行读取的所述函数指针对应的回调函数。
[0009]第二方面,本专利技术实施例还提供了一种应用运行装置,该装置包括:
[0010]函数指针写入模块,用于在检测到应用程序的启动触发事件时,从应用程序编译阶段生成的可执行文件中,读取业务组件的回调函数的函数指针和所述函数指针对应的生命周期阶段,将所述函数指针写入所述生命周期阶段对应的数据表中;
[0011]回调函数读取模块,用于在检测到所述应用程序进入生命周期阶段后,从进入的生命周期阶段所对应的所述数据表中读取函数指针,并执行读取的所述函数指针对应的回调函数。
[0012]第三方面,本专利技术实施例还提供了一种电子设备,该电子设备包括:
[0013]一个或多个处理器;
[0014]存储器,用于存储一个或多个程序;
[0015]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术实施例中任一所述的应用运行方法。
[0016]第四方面,本专利技术实施例还提供了计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本专利技术实施例中任一所述的应用运行方法。
[0017]本专利技术实施例的技术方案,通过在检测到应用程序的启动触发事件时,从应用程序编译阶段生成的可执行文件中,读取业务组件的回调函数的函数指针和函数指针对应的生命周期阶段,将函数指针写入所述生命周期阶段对应的数据表中,在检测到应用程序进入生命周期阶段后,从进入的生命周期阶段所对应的数据表中读取函数指针,并执行读取的函数指针对应的回调函数,这样解决了现有技术中若需增加或删除业务组件时,需要手动对注册表进行插入或删除操作,维护成本高,且在主工程的生命周期代码中需要用到业务组件的地方,需要在主工程中引入各个业务组件,增加了主工程与业务组件之间的耦合性的问题。本专利技术实施例的技术方案在进入生命周期阶段时,主工程从数据表中读取函数指针,进行执行函数指针对应的回调函数,无需维护注册表,且无需在主工程中引入业务组件,实现了主工程和业务组件之间的解耦合。
附图说明
[0018]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019]图1是本专利技术实施例一提供的应用运行方法的流程图;
[0020]图2是本专利技术实施例二提供的应用运行方法的流程图;
[0021]图3是本专利技术实施例二提供的业务组件的自注册过程示意图;
[0022]图4是本专利技术实施例三提供的应用运行方法的流程图;
[0023]图5是本专利技术实施例四提供的应用运行装置的结构示意图;
[0024]图6是本专利技术实施例五提供的一种电子设备的结构示意图。
具体实施方式
[0025]下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。
[0026]实施例一
[0027]图1为本专利技术实施例一提供的一种应用运行方法的流程图,本实施例可适用于应用程序的编译运行场景中。该方法可以由应用运行装置来执行,该装置可以由软件和/或硬件的方式来实现,集成于具有应用程序的终端中。
[0028]在介绍本专利技术实施例的技术方案之前,为了更好的理解本专利技术实施例的技术方案,先介绍一下应用程序的编译阶段和运行阶段,以及应用程序的生命周期:
[0029]应用程序在运行之前,程序员需先编写一些源代码,这些源代码中包含了应用程序的各生命周期阶段分别对应的生命周期方法函数,生命周期方法函数被包含在主工程
中,当应用程序启动运行并进入某个生命周期阶段时,会执行所进入的生命周期阶段对应的生命周期方法函数。当程序员编写源代码完成后,则需对源代码编译,此时,应用程序进入编译阶段,编译阶段会对程序员编写的源代码进行编译生成最终的可执行文件。当用户点击安装的应用程序的图标以触发应用程序启动时,应用程序首先进入加载阶段,加载阶段结束后进入运行阶段,即进入该应用程序的生命周期阶段。
[0030]每个应用程序都具有不同的生命周期阶段,应用程序在运行过程中会根据用户的操作等因素进行生命周期阶段的切换。例如,当用户在淘宝这款应用程序的商品详情页观看某一产品的视频介绍时,应用程序处于前台运行的生命周期阶段,此时若用户通过点击手机中的“返回”按键,则暂停视频的播放,此时,会触发淘宝这个应用程序从前台运行的生命周期阶段进入到后台运行的生命周期阶段。若此时用户又对该应用程序的图标进行点击时,该应用程序又从后台运行的生命周期阶段进入到前台运行的生命周期阶段,并继续进行视频的播放。
[0031]本实施例的方法具体包括以下步骤:
[0032]S110、在检测到应用程序的启动触发事件时,从应用程序编译阶段生成的可执行文件中,读取业务组件的回调函数的函数指针和函数指针对应的生命周期阶段,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用运行方法,其特征在于,包括:在检测到应用程序的启动触发事件时,从应用程序编译阶段生成的可执行文件中,读取业务组件的回调函数的函数指针和所述函数指针对应的生命周期阶段,将所述函数指针写入所述生命周期阶段对应的数据表中;在检测到所述应用程序进入生命周期阶段后,从进入的生命周期阶段所对应的所述数据表中读取函数指针,并执行读取的所述函数指针对应的回调函数。2.根据权利要求1所述的方法,其特征在于,在所述检测到应用程序的启动触发事件之前,所述方法还包括:在对所述应用程序进行编译时,将业务组件的需要在一个或多个生命周期阶段执行的回调函数的函数指针、以及所述函数指针对应的生命周期阶段,写入到编译后生成的可执行文件的数据段;所述从应用程序编译阶段生成的可执行文件中,读取业务组件的回调函数的函数指针和所述函数指针对应的生命周期阶段,包括:从所述编译后生成的可执行文件的数据段,读取业务组件的回调函数的函数指针和所述函数指针对应的生命周期阶段。3.根据权利要求2所述的方法,其特征在于,所述将业务组件的需要在一个或多个生命周期阶段执行的回调函数的函数指针、以及所述函数指针对应的生命周期阶段,写入到编译后生成的可执行文件的数据段,包括:将业务组件的需要在一个或多个生命周期阶段执行的回调函数的函数指针、所述函数指针对应的生命周期阶段、以及预设位置参数,作为输入参数调用执行预设方法函数,以按照所述预设位置参数将所述函数指针和所述函数指针对应的生命周期阶段,写入到编译后生成的可执行文件的数据段中。4.根据权利要求3所述的方法,其特征在于,在对所述应用程序进行编译之前,所述方法还包括:为所述预设方法函数设置预设属性修饰符,以标识所述预设方法函数在编译阶段被调用执行;其中所述预设方法函数为宏函数。5.根据权利要求1所述的方法,其特征在于,所述从应用程序编译阶段生成的可执行文件中,读取业务组件的回调函数的函数指针和所述函数指针对应的生命周期阶段,将所述函数指针写入所述生命周期阶段对...

【专利技术属性】
技术研发人员:高飞
申请(专利权)人:北京京东世纪贸易有限公司
类型:发明
国别省市:

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

1