[发明专利]功能组件共享方法、装置和计算机设备有效
申请号: | 201810234582.8 | 申请日: | 2018-03-21 |
公开(公告)号: | CN110297658B | 公开(公告)日: | 2022-09-20 |
发明(设计)人: | 周浩 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F8/71 | 分类号: | G06F8/71 |
代理公司: | 北京励诚知识产权代理有限公司 11647 | 代理人: | 贾玉姣 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 功能 组件 共享 方法 装置 计算机 设备 | ||
本申请提供一种功能组件共享方法、装置和计算机设备,其中方法包括:读取当前软件的软件开发工具包中预存的软件列表,获取集成有软件开发工具包的各个软件的标识,获取各个软件的软件开发工具包的版本号,确定宿主软件;将当前软件的软件开发工具包中的功能组件接口与宿主软件的软件开发工具包中相应的功能组件实例进行绑定,采用上述类似方法,将各个软件的软件开发工具包中的功能组件接口与宿主软件的软件开发工具包中相应的功能组件实例进行绑定,从而只需要运行宿主软件中的功能组件实例,实现宿主软件中的功能组件实例在各个软件之间的共享,减少系统中运行的功能组件的数量,减少系统资源的消耗量,提高系统稳定性,提高用户的使用体验。
技术领域
本申请涉及互联网技术领域,尤其涉及一种功能组件共享方法、装置和计算机设备。
背景技术
目前,在Android系统中,多个软件APP都实现一些相同的功能组件,例如用户行为埋点上报、云端消息推送、服务配置下发等功能。针对这些功能组件,有以下两种实现方式,第一种方式是在单个APP内集成所有需要的功能组件,APP之间完全独立;第二种方式是将公用的功能组件抽取到一个单独的APP中,所有的组件接口调用,均由该APP来完成。
然而,上述第一种方式中,Android系统中可能同时运行多个功能完全相同的组件实例,系统资源消耗量大,容易卡顿,导致系统的稳定性差。上述第二种方式中,当包括各公用的功能组件的APP卸载或者无法使用时,将导致多个APP都无法使用,系统的稳定性差,影响用户的使用体验。
发明内容
为克服相关技术中存在的问题,本申请提供一种功能组件共享方法、装置和计算机设备。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,本申请实施例提供一种功能组件共享方法,包括:
读取当前软件的软件开发工具包中预存的软件列表;所述软件列表中包括:集成有软件开发工具包的各个软件的标识;所述软件开发工具包中还包括:至少一个公用的功能组件;所述功能组件包括:功能组件接口和功能组件实例;
根据所述各个软件的标识,获取所述各个软件的软件开发工具包的版本号;
根据所述各个软件的软件开发工具包的版本号,确定所述各个软件中的宿主软件,将所述当前软件的软件开发工具包中的功能组件接口与所述宿主软件的软件开发工具包中相应的功能组件实例进行绑定。
其中在一种具体的实施方式中,所述的方法还包括:
在接收到非宿主软件广播的版本升级消息时,或者,
在获取到卸载宿主软件的消息时,
根据所述各个软件的标识,获取所述各个软件的软件开发工具包的版本号;
根据所述各个软件的软件开发工具包的版本号,重新确定所述各个软件中的宿主软件,将所述当前软件的软件开发工具包中的功能组件接口与所述宿主软件的软件开发工具包中相应的功能组件实例进行绑定。
其中在另一种具体的实施方式中,获取卸载宿主软件的消息的方式为,
接收所述当前软件对应的操作系统发送的卸载宿主软件的消息;或者,
检测所述当前软件的软件开发工具包中的功能组件接口的绑定关系,在所述绑定关系断开时,确定获取到卸载宿主软件的消息。
其中在另一种具体的实施方式中,所述根据所述各个软件的软件开发工具包的版本号,确定所述各个软件中的宿主软件,包括:
根据所述各个软件的软件开发工具包的版本号,对所述各个软件进行排序,获取排序结果;
在所述排序结果中存在对应的版本号相同的至少两个软件时,按照所述至少两个软件的默认优先级对所述至少两个软件进行排序;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810234582.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于层次上下文的API推荐方法
- 下一篇:算法模型部署上线方法和装置