一种简化应用程序注册器的方法、存储介质及电子设备与流程

文档序号:13804644阅读:176来源:国知局
一种简化应用程序注册器的方法、存储介质及电子设备与流程

本发明涉及应用程序注册技术领域,尤其涉及简化应用程序注册器的方法、存储介质及电子设备。



背景技术:

android系统中集中处理以及调配各个应用程序资源的重要服务端是activitymanagerservice(ams)。应用程序在正常工作时所需要的广播资源,均通过该服务端完成。但是,不注意优化的应用程序,会出现同一个广播组件重复向ams服务端注册广播监听器的情况,导致每次ams服务端初始化时间过长、特定广播被监听次数过多,耗费大量的系统资源,系统性能降低。

因此,现有技术还有待于改进和发展。



技术实现要素:

鉴于上述现有技术的不足,本发明的目的在于提供一种简化应用程序注册器的方法、存储介质及电子设备,旨在解决现有技术中,应用程序的同一个广播组件重复向系统注册广播监听器,导致系统性能降低的问题。

本发明的技术方案如下:

一种简化应用程序注册器的方法,包括步骤:

预先在应用程序内部建立虚拟监听器;

当所述虚拟监听器监听到所述应用程序发出多个广播监听器注册请求时,判断所述多个广播监听器注册请求是否相同;

当判定所述多个广播监听器注册请求相同时,则直接注册一个广播监听器,所述广播监听器中包括多个监听相同广播内容的子监听器。

所述的简化应用程序注册器的方法,其中,所述步骤当所述虚拟监听器监听到所述应用程序发出多个广播监听器注册请求时,判断所述多个广播监听器注册请求是否相同,还包括:

当所述虚拟监听器监听到所述应用程序发出一个广播监听器注册请求时,则直接注册与所述广播监听器注册请求相对应的广播监听器。

所述的简化应用程序注册器的方法,其中,所述步骤当所述虚拟监听器监听到所述应用程序发出多个广播监听器注册请求时,判断所述多个广播监听器注册请求是否相同,之后还包括:

当判定所述多个广播监听器注册请求均不相同时,则根据不同的广播监听器注册请求注册多个相对应的广播监听器。

所述的简化应用程序注册器的方法,其中,所述步骤当判定所述多个广播监听器注册请求相同时,则直接注册一个广播监听器,所述广播监听器中包括多个监听相同广播内容的子监听器,之后还包括:

当广播监听器监听到广播通知时,则轮番调用所述广播监听器中的子监听器。

所述广播监听器具体包括熄屏广播监听器、电话呼入广播监听器。

一种存储介质,其中,存储有多条指令,所述指令适于由处理器加载并执行:

预先在应用程序内部建立虚拟监听器;

当所述虚拟监听器监听到所述应用程序发出多个广播监听器注册请求时,判断所述多个广播监听器注册请求是否相同;

当判定所述多个广播监听器注册请求相同时,则直接注册一个广播监听器,所述广播监听器中包括多个监听相同广播内容的子监听器。

所述的存储介质,其中,存储有多条指令,所述指令适于由处理器加载并具体执行:

当所述虚拟监听器监听到所述应用程序发出一个广播监听器注册请求时,则直接注册与所述广播监听器注册请求相对应的广播监听器。

所述的存储介质,其中,存储有多条指令,所述指令适于由处理器加载并具体执行:

当判定所述多个广播监听器注册请求均不相同时,则根据不同的广播监听器注册请求注册多个相对应的广播监听器。

所述的存储介质,其中,存储有多条指令,所述指令适于由处理器加载并具体执行:

当广播监听器监听到广播通知时,则轮番调用所述广播监听器中的子监听器。

一种电子设备,其中,包括处理器,适于实现各指令;以及存储器,适于存储多条指令,所述指令适于由处理器加载并执行上述任意一项所述简化应用程序注册器的方法的步骤。

有益效果:本发明提供的简化应用程序注册器的方法,通过预先在应用程序内部建立虚拟监听器;当所述虚拟监听器监听到所述应用程序发出多个广播监听器注册请求时,判断所述多个广播监听器注册请求是否相同;当判定所述多个广播监听器注册请求相同时,则直接注册一个广播监听器。解决了现有技术中,应用程序就同一个广播组件,重复向系统注册导致系统在调度这些应用程序的广播组件时,花费时间久以及系统性能降低的问题。

附图说明

图1为本发明一种简化应用程序注册器的方法较佳实施例的流程图。

图2为现有技术在android系统上应用程序与activitymanagerservice之间关系示意图。

图3为本发明简化注册后应用程序与activitymanagerservice之间关系示意图。

图4为本发明虚拟监听器所注册的广播监听器轮番调用应用内部请求的重复的监听器示意图。

图5为本发明一种简化应用程序注册器的电子设备较佳实施例的结构框图。

具体实施方式

本发明提供一种简化应用程序注册器的方法,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请参阅图1,图1为本发明一种简化应用程序注册器的方法较佳实施例的流程图,如图1所示,所述一种简化应用程序注册器的方法,其包括步骤:

s10、预先在应用程序内部建立虚拟监听器;

s20、当所述虚拟监听器监听到所述应用程序发出多个广播监听器注册请求时,判断所述多个广播监听器注册请求是否相同;

s30、当判定所述多个广播监听器注册请求相同时,则直接注册一个广播监听器,所述广播监听器中包括多个监听相同广播内容的子监听器。

具体来说,现有android系统中,因应用程序为了满足自身运行的需要,向系统注册了多个广播监听器,其中部分广播监听器为同一个广播组件所注册,重复注册的广播监听器耗费了大量的系统资源,导致系统性能降低。

为了解决上述问题,本发明提供一种简化应用程序注册器的方法,通过预先在应用程序内部建立虚拟监听器;当所述虚拟监听器监听到所述应用程序发出多个广播监听器注册请求时,判断所述多个广播监听器注册请求是否相同;当判定所述多个广播监听器注册请求相同时,则直接注册一个广播监听器。本发明提供的简化应用程序注册器的方法,解决了因应用程序的同一个广播组件,注册多个相同的广播监听器而耗费大量系统资源,导致系统性能降低的问题。

请参阅图2,图2为现有技术在android系统上,应用程序与activitymanagerservice之间关系示意图。例如,在android系统上,为了监听android系统发出的screen-off(屏幕熄灭)广播,应用app-a、app-b、app-c、app-d向activitymanagerservice(ams)注册监听器请求,一旦android系统发出广播,使得应用能够收到通知,以完成自己的正确逻辑。但是,各个应用之内可能由于多人协作、功能细分、应用架构等原因,导致原本应用内部只需要向ams注册一个对应广播的监听器,现在重复注册了多个。例如:app-a,向ams注册了3个关于screnn-off(屏幕熄灭)广播的监听器(a-1、a-2、a-3)、注册了两个关于call-in(电话拨入)的监听器(a-4、a-5);app-b也向ams注册了3个关于screnn-off(屏幕熄灭)广播的监听器(b-1、b-2、b-3)、注册了2个关于call-in(电话拨入)的监听器(b-5、b-6);app-c向ams注册1个关于screnn-off(屏幕熄灭)广播的监听器(c-1)、注册了2个关于call-in(电话拨入)的监听器(c-2、c-3);由于原本应用内部只需要向ams注册一个对应广播的监听器,现在重复注册了多个,导致每次ams服务端初始化时间过长、特定广播被监听次数过多,导致系统性能降低,用户体验差。

请参阅图3,图3为本发明简化注册后应用程序与activitymanagerservice之间关系示意图。预先在应用程序内部建立虚拟监听器,例如在app-a内部建立虚拟监听器localreceiver,原本app-a向ams注册了3个关于screen-off(屏幕熄灭)广播的监听器(a-1、a-2、a-3)、注册了2个关于call-in(电话拨入)的监听器(a-4、a-5),现在通过虚拟监听器localreceiver对同一应用的重复注册进行整合,使得app-a向ams只注册了一个关于screen-off的监听器a-screen-off,1个关于call-in的监听器a-call-in,同理,应用app-b通过虚拟监听器localreceiver对同一应用的重复注册进行整合,使得app-b向ams只注册了1个关于screen-off的监听器b-screen-off,1个关于call-in的监听器b-call-in,app-c向ams只注册了1个关于call-in的监听器c-call-in,实现了对同一个应用所注册的相同的广播监听器的整合,简化了注册过程,缓解了ams上的重复监听器记录,避免了系统资源的浪费,提升了系统的整体性能。

更进一步,在本发明中,所述步骤s20之后还包括:当所述虚拟监听器监听到所述应用程序发出一个广播监听器注册请求时,则直接注册与所述广播监听器注册请求相对应的广播监听器。

更进一步,在本发明中,所述步骤s30之后还包括:当判定所述多个广播监听器注册请求不相同时,则根据不同的广播监听器注册请求注册多个相对应的广播监听器。

具体地,当应用程序向系统发出多个广播监听器注册请求,虚拟监听器判定出所述多个广播监听器注册请求不相同时,则说明注册请求不是同一个广播组件所发出的,则根据实际的注册请求注册多个相对应的广播监听器。

更进一步,请参阅图4,图4为本发明虚拟监听器所注册的广播监听器轮番调用应用内部请求的重复的监听器示意图。

具体地,当发起广播时,首先ams系统会直接向虚拟监听器所注册的广播监听器发起通知,例如ams向应用app-a的a-screen-off发起通知,而不是直接向app-a所注册的3个关于screen-off(屏幕熄灭)广播的监听器(a-1、a-2、a-3)发起通知。再通过a-screen-off监听器轮番调用子监听器a-1、a-2以及a-3,从而完成对虚拟监听器a-screen-off内部的重复的监听器的调用。避免了对同一个应用所注册的相同广播组件的反复的调用,节约了系统调度应用广播的时间,提升了系统性能。

基于上述简化应用程序注册器的方法,本发明还提供一种存储介质,其中,存储有多条指令,所述指令适于由处理器加载并执行:

预先在应用程序内部建立虚拟监听器;

当所述虚拟监听器监听到所述应用程序发出多个广播监听器注册请求时,判断所述多个广播监听器注册请求是否相同;

当判定所述多个广播监听器注册请求相同时,则直接注册一个广播监听器,所述广播监听器中包括多个监听相同广播内容的子监听器。

所述的存储介质,其中,存储有多条指令,所述指令适于由处理器加载并具体执行:

当所述虚拟监听器监听到所述应用程序发出一个广播监听器注册请求时,则直接注册与所述广播监听器注册请求相对应的广播监听器。

所述的存储介质,其中,存储有多条指令,所述指令适于由处理器加载并具体执行:

当判定所述多个广播监听器注册请求均不相同时,则根据不同的广播监听器注册请求注册多个相对应的广播监听器。

所述的存储介质,其中,存储有多条指令,所述指令适于由处理器加载并具体执行:

当广播监听器监听到广播通知时,则轮番调用所述广播监听器中的子监听器。

本发明还提供一种电子设备,其中,如图5所示,包括处理器10,适于实现各指令;以及存储设备20,适于存储多条指令,所述指令适于由处理器10加载并执行上述任意一项所述的简化应用程序注册器的方法。

具体来说,所述处理器10在一些实施例中可以是一中央处理器,微处理器或其他数据处理芯片,用于运行所述存储设备20中存储的程序代码或处理数据。

所述存储设备20在一些实施例中可以是所述装置的内部存储单元,例如该装置的硬盘或内存。

进一步地,所述存储设备20还可以既包括所述装置的内部存储单元也包括外部存储装置。所述存储设备20用于存储安装于所述装置的应用软件及各类数据。所述存储设备20还可以用于暂时地存储已经输出或者将要输出的数据。

综上所述,本发明提供的简化应用程序注册器的方法,通过预先在应用程序内部建立虚拟监听器;当所述虚拟监听器监听到所述应用程序发出多个广播监听器注册请求时,判断所述多个广播监听器注册请求是否相同;当判定所述多个广播监听器注册请求相同时,则直接注册一个广播监听器。解决了现有技术中,应用程序就同一个广播组件,重复向系统注册导致系统在调度这些应用程序的广播组件时,花费时间久以及系统性能降低的问题。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1