[发明专利]一种插件的多进程管理方法和装置有效
申请号: | 201710273785.3 | 申请日: | 2017-04-21 |
公开(公告)号: | CN107239297B | 公开(公告)日: | 2020-10-20 |
发明(设计)人: | 胡俊杰;张炅轩 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/48 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 插件 进程 管理 方法 装置 | ||
本发明提供了一种插件的多进程管理方法和装置。该方法包括:在宿主的配置文件中注册多个预留进程;当宿主加载插件时,读取宿主加载的插件中每个组件声明的进程;在所述每个组件声明的进程与注册的多个预留进程之间建立对应关系;当在插件中启动任意组件时,根据所述对应关系查找所述任意组件声明的进程对应的目标预留进程;在所述目标预留进程中运行所述任意组件。本发明实施例提供的技术方案,解决了现有技术中插件的组件只能运行在同一个进程的问题,实现了插件的多进程运行的目的。
技术领域
本发明涉及计算机处理技术领域,特别是涉及一种插件的多进程管理方法和装置。
背景技术
在软件开发中,为了方便对软件进行功能扩展,可以采用插件方式进行开发,将软件所要实现的一个一个功能封装在插件中,最后将各个插件集成在软件主程序包中一同发布。
在Android开发中,为了尽可能地减少手机的内存占用,大多数APP(应用程序)都会启动至少两个进程,一个运行在后台(运行后台任务的常驻进程),另一个运行在前台,提供用户可见的界面(即UI进程)。
当用户使用APP完成一些操作后,回退到手机桌面,前台的那个进程会在一段时间后(比如10秒)自动退出,以减少手机系统内存占用,这便是多进程模型。而APP上的插件并不支持多进程模型,即插件中无法同时运行两个或两个以上的进程。因此,亟待解决这一技术问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种插件的多进程管理方法和装置。
依据本发明实施例的一方面,提供了一种插件的多进程管理方法,包括:
在宿主的配置文件中注册多个预留进程;
当宿主加载插件时,读取宿主加载的插件中每个组件声明的进程;
在所述每个组件声明的进程与注册的多个预留进程之间建立对应关系;
当在插件中启动任意组件时,根据所述对应关系查找所述任意组件声明的进程对应的目标预留进程;
在所述目标预留进程中运行所述任意组件。
可选地,插件中每个组件的类型包括下列至少之一:
活动界面Activity、服务Service、内容提供者Content Provider、广播接收器Broadcast Receiver。
可选地,所述在宿主的配置文件中注册多个预留进程,包括:
获取宿主的插件中每个组件声明的进程;
根据所述每个组件声明的进程,在宿主的配置文件中注册相应的多个预留进程。
可选地,所述在宿主的配置文件中注册多个预留进程,包括:
在宿主的配置文件中写入进程信息,以注册各个预留进程,其中,所述进程信息至少包括以下信息:
进程的编号、进程的状态、进程对应的插件名、插件中不同类型的组件的使用数量。
可选地,在所述目标预留进程中运行所述任意组件之后,所述方法还包括:
将所述目标预留进程的状态标记为表示已分配的状态。
可选地,所述方法还包括:
获取宿主的插件的多个任务,其中,所述多个任务各自能够实现插件的不同功能;
在宿主的配置文件中注册所述多个任务各自的活动界面所属的Task,其中,不同的任务各自的活动界面属于不同的Task;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710273785.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种图片编辑方法、终端及计算机可读存储介质
- 下一篇:应用程序调试方法及装置