[发明专利]应用程序启动方法和装置有效
申请号: | 201611102666.3 | 申请日: | 2016-12-01 |
公开(公告)号: | CN108132832B | 公开(公告)日: | 2021-01-19 |
发明(设计)人: | 唐雨田;陈翔 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 熊永强;贾允 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 启动 方法 装置 | ||
本发明公开了一种应用程序启动方法和装置。其中,该应用程序包括多个模块,该启动方法包括:检测是否接收到第一指示信息,其中,所述第一指示信息用于指示第一模块完成启动,该多个模块包括第一模块;在检测出接收到所述第一指示信息的情况下,基于预先得到的订阅信息确定订阅了所述第一指示信息的第二模块,该多个模块包括第二模块;启动所述第二模块,其中,所述第二模块被设置为在所述第一模块的完成启动的情况下启动。本发明解决了按照应用程序的模块的依赖关系手动确定模块的启动顺序易出错的技术问题。
技术领域
本发明涉及信息处理领域,具体而言,涉及一种应用程序启动方法和装置。
背景技术
现有技术中的app一般包含多个模块,在app启动时,该多个模块需按照一定的顺序启动,才可以完成app的启动。可选地,该多个模块之间的顺序基于这些模块之间的依赖关系来确定,若在启动时未按照该依赖关系启动,则可能导致模块启动失败,而一旦模块加载(或启动)失败,则可能对整个app的逻辑造成严重影响。
现有技术中为了保证app的多个模块的启动顺序,首先要求程序员计算出各个模块的依赖顺序,然后手动按序调用各个模块的启动函数来加载模块。
例如,app中有A模块,B模块,C模块和D四个模块,如图1所示,该四个模块的依赖关系为:B模块和C模块依赖A模块,而D模块依赖B模块和C模块。该四个模块对应启动模块的函数为分别startA(),startB(),startC()和startD()。在该示例中,正确的加载顺序为ABCD或者ACBD,则在启动app时,程序员就要依次调用startA(),startB(),startC()和startD()或者startA(),startC(),startB()和startD()来启动所有的模块。
由上述分析可知,现有技术中需要工程师计算出模块之间的依赖关系,再手动调用启动函数,所有的工作都需要程序员完成,在模块较多时,程序员很难计算出正确的模块依赖关系,从而导致模块加载失败;另外,一旦需要增加或者删除模块,程序员需要重新计算依赖关系,并且修改程序代码,这种人工的修改方式很容易出错。
针对上述按照应用程序的模块的依赖关系手动确定模块的启动顺序易出错的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种应用程序启动方法和装置,以至少解决按照应用程序的模块的依赖关系手动确定模块的启动顺序易出错的技术问题。
根据本发明实施例的一个方面,提供了一种应用程序启动方法,该应用程序包括多个模块,该启动方法包括:检测是否接收到第一指示信息,其中,所述第一指示信息用于指示第一模块完成启动,多个模块包括第一模块;在检测出接收到所述第一指示信息的情况下,基于预先得到的订阅信息确定订阅了所述第一指示信息的第二模块,多个模块包括第二模块;启动所述第二模块,其中,所述第二模块被设置为在所述第一模块完成启动的情况下启动。
根据本发明实施例的一个方面,提供了一种应用程序启动装置,该应用程序包括多个模块,该启动装置包括:检测单元,用于检测是否接收到第一指示信息,其中,所述第一指示信息用于指示第一模块完成启动,多个模块包括第一模块;确定单元,用于在检测出接收到所述第一指示信息的情况下,基于预先得到的订阅信息确定订阅了所述第一指示信息的第二模块,多个模块包括第二模块;第一启动单元,用于启动所述第二模块,其中,所述第二模块被设置为在所述第一模块完成启动的情况下启动。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611102666.3/2.html,转载请声明来源钻瓜专利网。