[发明专利]一种插件加载方法、装置及移动终端有效
申请号: | 201611101498.6 | 申请日: | 2016-12-05 |
公开(公告)号: | CN108170485B | 公开(公告)日: | 2021-06-11 |
发明(设计)人: | 生士东 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 蒋雅洁;姚开丽 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 插件 加载 方法 装置 移动 终端 | ||
1.一种插件加载方法,应用于宿主模块,其特征在于,所述方法包括:
当插件启动时,拦截来自线程模块的所述插件的插件组件,以获得所述插件组件的组件标识,所述线程模块为所述宿主模块的父类组件;
记录所述插件组件的组件标识,并将所述插件组件的组件标识替换为应用程序的预注册组件的组件标识,所述应用程序为所述插件的宿主程序,所述应用程序的预注册组件为预先在所述宿主程序中注册的组件;
将所述预注册组件的组件标识发送给所述线程模块,以进行系统权限验证;
当所述预注册组件的组件标识通过所述系统权限校验时,接收来自线程模块的可运行通知信息;
响应所述可运行通知信息,根据记录的所述插件组件的组件标识,将所述预注册组件的组件标识替换为所述插件组件的组件标识;
将所述插件组件的组件标识发送给所述线程模块,以加载所述插件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取来自服务器的所述插件的新版本信息;
解析所述新版本信息,获得对应的新版本插件的类加载器和资源管理器;
采用新版本插件的类加载器和资源管理器替换所述插件的类加载器和资源管理器。
3.一种插件加载方法,应用于线程模块,其特征在于,所述方法包括:
当插件启动时,获取所述插件的插件组件的组件标识;
接收来自宿主模块的应用程序的预注册组件的组件标识,所述线程模块为所述宿主模块的父类组件,所述应用程序为所述插件的宿主程序;
其中,所述应用程序的预注册组件为预先在所述宿主程序中注册的组件,以使所述宿主模块在所述插件启动时,拦截来自所述线程模块的所述插件的插件组件,以获得所述插件组件的组件标识,将所述插件组件的组件标识替换为所述预注册组件的组件标识;
将所述预注册组件的组件标识发送给系统服务模块,以进行系统权限验证;
当所述预注册组件的组件标识通过所述系统权限校验时,接收来自系统服务模块的可运行通知信息;
将所述可运行通知信息转发给所述宿主模块,以使所述宿主模块响应所述可运行通知信息,将所述预注册组件的组件标识替换为所述插件组件的组件标识;
接收来自所述宿主模块的所述插件组件的组件标识;
基于所述插件组件的组件标识,构建所述插件组件,以加载所述插件。
4.根据权利要求3所述的方法,其特征在于,所述基于所述插件组件的组件标识,构建所述插件组件并加载所述插件,包括:
基于所述插件组件的组件标识,分别加载所述插件组件的代码和资源,以加载所述插件。
5.根据权利要求4所述的方法,其特征在于,所述基于所述插件组件的组件标识,分别加载所述插件组件的代码和资源,包括:
基于所述插件组件的组件标识,通过类加载器加载所述插件组件的插件代码;
基于所述插件组件的组件标识,通过资源管理器中的新增插件路径方法加载所述插件的插件资源。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
基于双亲委派模型,构建所述线程模块对应的所述宿主模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611101498.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种控制方法和装置
- 下一篇:一种EMMC启动运行方法和装置