[发明专利]基于插件框架启动组件的方法及装置有效
申请号: | 201710451985.3 | 申请日: | 2017-06-15 |
公开(公告)号: | CN109144595B | 公开(公告)日: | 2021-06-01 |
发明(设计)人: | 黄定磊 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京鼎佳达知识产权代理事务所(普通合伙) 11348 | 代理人: | 王伟锋;刘铁生 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 插件 框架 启动 组件 方法 装置 | ||
本申请公开一种基于插件框架启动组件的方法及装置,涉及计算机技术领域,能够提高启动插件中服务组件的效率。本申请的方法主要包括:拦截启动插件中的目标服务组件;当应用程序中不存在升级插件或新增插件时,启动所述目标服务组件;当所述应用程序中存在升级插件或新增插件时,执行以下步骤:当所述目标服务组件是新增服务组件时,通过启动占位服务组件启动所述目标服务组件。本申请主要适用于基于安卓系统的插件框架启动服务组件的场景中。
技术领域
本申请涉及计算机技术领域,特别是涉及一种基于插件框架启动组件的方法及装置。
背景技术
随着互联网技术的发展,应用程序的种类逐渐增多,更新频率也逐渐加快。但是,无论需要更新多少内容,往往都需要对整个应用程序进行大量修改,开发效率十分低下,因此关于应用程序的插件化技术应运而生。也就是说,开发人员在开发时可以独立开发一个宿主程序和至少一个插件程序,并在开发完应用程序进行打包时,可以将其打包成一个宿主安装包和至少一个插件安装包;当需要更新应用程序时,可以直接对宿主安装包或者某个插件安装包进行更新,而无需再对整个应用程序进行更新。
在安卓系统中有四大基本组件,其中一个基本组件—服务组件(即service组件)在处理后台耗时任务等方面发挥着重要作用。在安卓系统的插件化技术领域,只有在宿主安装包中声明的服务组件才是标准的、能够被系统正常启动的服务组件,因此插件安装包中的服务组件不能直接被系统正常启动。为了使得原始插件安装包中的服务组件以及后续更新插件安装包时新增的服务组件能够正常启动,现有技术提供了一种解决方案:预先在宿主安装包中定义多个占位服务组件,且每个插件对应一个占位服务组件;在后续需要启动某个插件的服务组件时,先拦截对该服务组件的启动操作,然后从宿主安装包中获取待启动的服务组件对应的占位服务组件,并通过由符合系统标准的占位服务组件间接启动待启动的服务组件,使得待启动的服务组件能够正常启动。
然而,申请人在实现上述申请的过程中发现,虽然基于现有技术能够正常启动插件安装包中涉及的所有服务组件,但是无论是原始插件中定义的服务组件,还是插件升级后新增的服务组件,每启动一次插件中服务组件,都需要系统拦截待启动的服务组件,然后消耗大量资源、花费大量时间来通过占位服务组件使得待启动的服务组件得到正常启动,效率较低。
发明内容
有鉴于此,本申请实施例提供一种基于插件框架启动组件的方法及装置,其目的在于解决现有技术中启动插件中服务组件的效率较低的问题。
第一方面,本申请实施例提供了一种基于插件框架启动组件的方法,所述方法包括:
拦截启动插件中的目标服务组件;
当应用程序中不存在升级插件或新增插件时,启动所述目标服务组件;
当所述应用程序中存在升级插件或新增插件时,执行以下步骤:
当所述目标服务组件是新增服务组件时,通过启动占位服务组件启动所述目标服务组件。
第二方面,本申请实施例还提供了一种基于插件框架启动组件的装置,所述装置包括:
拦截单元,用于拦截启动插件中的目标服务组件;
启动单元,用于当应用程序中不存在升级插件或新增插件时,启动所述目标服务组件;
所述启动单元,还用于当所述应用程序中存在升级插件或新增插件时,若所述目标服务组件是新增服务组件,则通过启动所述占位服务组件启动所述目标服务组件。
第三方面,本申请实施例还提供了一种基于插件框架启动组件的装置,所述装置包括:
处理器,被配置为:
拦截启动插件中的目标服务组件;
当应用程序中不存在升级插件或新增插件时,启动所述目标服务组件;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710451985.3/2.html,转载请声明来源钻瓜专利网。