[发明专利]一种插件的多进程管理方法和装置有效
申请号: | 201710273785.3 | 申请日: | 2017-04-21 |
公开(公告)号: | CN107239297B | 公开(公告)日: | 2020-10-20 |
发明(设计)人: | 胡俊杰;张炅轩 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/48 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 插件 进程 管理 方法 装置 | ||
1.一种插件的多进程管理方法,包括:
在宿主的配置文件中注册多个预留进程;
当宿主加载插件时,读取宿主加载的插件中每个组件声明的进程;
在所述每个组件声明的进程与注册的多个预留进程之间建立对应关系;
当在插件中启动任意组件时,根据所述对应关系查找所述任意组件声明的进程对应的目标预留进程;
在所述目标预留进程中运行所述任意组件;
其中,所述方法还包括:
获取宿主的插件的多个任务,其中,所述多个任务各自能够实现插件的不同功能;
在宿主的配置文件中注册所述多个任务各自的活动界面所属的Task,其中,不同的任务各自的活动界面属于不同的Task;
当宿主加载插件并启动所述多个任务中的任意任务的当前活动界面时,在所述配置文件中查找所述当前活动界面所属的目标Task;
在宿主中查找所述目标Task对应的所有注册界面,并依据预设的选取策略从所述目标Task对应的所有注册界面中选取目标注册界面;
将所述目标注册界面分配给所述当前活动界面使用。
2.根据权利要求1所述的方法,其中,插件中每个组件的类型包括下列至少之一:
活动界面Activity、服务Service、内容提供者Content Provider、广播接收器Broadcast Receiver。
3.根据权利要求1所述的方法,其中,所述在宿主的配置文件中注册多个预留进程,包括:
获取宿主的插件中每个组件声明的进程;
根据所述每个组件声明的进程,在宿主的配置文件中注册相应的多个预留进程。
4.根据权利要求1所述的方法,其中,所述在宿主的配置文件中注册多个预留进程,包括:
在宿主的配置文件中写入进程信息,以注册各个预留进程,其中,所述进程信息至少包括以下信息:
进程的编号、进程的状态、进程对应的插件名、插件中不同类型的组件的使用数量。
5.根据权利要求4所述的方法,其中,在所述目标预留进程中运行所述任意组件之后,所述方法还包括:
将所述目标预留进程的状态标记为表示已分配的状态。
6.根据权利要求1所述的方法,其中,所述Task是具有栈结构的容器,能够放置一个或多个活动界面。
7.根据权利要求1所述的方法,其中,同一个任务的活动界面属于同一个Task。
8.根据权利要求1所述的方法,其中,所述在宿主的配置文件中注册所述多个任务各自的活动界面所属的Task,包括:
获取宿主的多个Task;
在宿主的配置文件中注册所述多个任务各自的活动界面的TaskAffinity属性,由该属性指示活动界面在所述多个Task中所属的Task。
9.根据权利要求8所述的方法,其中,所述获取宿主的多个Task,包括:
读取宿主的配置文件;
查找在宿主的配置文件中注册的宿主的多个Task。
10.根据权利要求8或9所述的方法,其中,还包括:
在宿主中为所述多个Task中的各个Task预设多个注册界面;
对各个Task预设的多个注册界面进行分组,其中,各组对应一个或多个注册界面。
11.根据权利要求10所述的方法,其中,所述对各个Task预设的多个注册界面进行分组,包括:
按照不同的启动模式对各个Task预设的多个注册界面进行分组,其中,一种启动模式对应一个组,所述不同的启动模式包括下列任意之一:
Standard、SingleTop、SingleTask、SingleInstance。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710273785.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种图片编辑方法、终端及计算机可读存储介质
- 下一篇:应用程序调试方法及装置