1.一种安卓应用的进程管理方法,其中,包括:
在安卓系统中预先声明适配于各种组件类型的预留进程;
构造虚拟机环境,将安卓系统中的一个或多个指定安卓应用的分身应用放入虚拟机中运行;
当指定安卓应用的分身应用需要运行目标组件时,从预先声明的预留进程中选择适配于所述目标组件所属的组件类型的预留进程,将所述目标组件分配至所选择的预留进程中运行。
2.如权利要求1所述的方法,其中,所述当指定安卓应用的分身应用需要运行目标组件时,从预先声明的预留进程中选择适配于所述目标组件所属组件类型的预留进程包括:
监听虚拟机中的指定安卓应用的分身应用向安卓系统请求调用目标组件的事件;
当监听到该事件时,禁止该事件继续执行;获取该事件对应的目标组件的相关信息;
根据所述目标组件的相关信息确定所述目标组件所属的组件类型,从预先声明的预留进程中选择适配于该组件类型的预留进程。
3.如权利要求2所述的方法,其中,所述目标组件的相关信息包括:所述目标组件对应的Intent参数;所述将所述目标组件分配至所选择的预留进程中运行包括:
启动所选择的预留进程,加载所述目标组件,根据所述目标组件对应的Intent参数在该预留进程中对所述目标组件进行实例化,使得实例化的目标组件在该预留进程中运行。
4.如权利要求2或3所述的方法,其中,所述在安卓系统中预先声明适配于各种组件类型的预留进程包括:在安卓系统中预先声明Activity预留进程,所述Activity预留进程适配于Activity组件类型;
当所述目标组件属于Activity组件类型时,所述从预先声明的预留进程中选择适配于所述目标组件所属组件类型的预留进程,将所述目标组件分配至所选择的预留进程中运行包括:启动一个Activity预留进程,将所述目标组件分配至该Activity预留进程中运行。
5.如权利要求4所述的方法,其中,该方法进一步包括:维护一个Activity任务栈;在所述启动一个Activity预留进程之前,该方法进一步包括:
根据所述目标组件的相关信息,判断当前所述Activity任务栈中是否存在关于所述目标组件的符合预定条件的任务;
是则,不再执行所述启动一个Activity预留进程的操作,根据所述目标组件的启动模式对所述任务进行调用;
否则,执行所述启动一个Activity预留进程并将所述目标组件分配至该Activity预留进程中运行的操作,并将所述目标组件的运行事件作为一个任务压入所述Activity任务栈中。
6.一种安卓应用的进程管理装置,其中,包括:
信息配置单元,适于在安卓系统中预先声明适配于各种组件类型的预留进程;
环境构造单元,适于构造虚拟机环境,将安卓系统中的一个或多个指定安卓应用的分身应用放入虚拟机中运行;
常驻服务单元,适于当指定安卓应用的分身应用需要运行目标组件时,从预先声明的预留进程中选择适配于所述目标组件所属的组件类型的预留进程,将所述目标组件分配至所选择的预留进程中运行。
7.如权利要求6所述的装置,其中,
所述常驻服务单元,适于监听虚拟机中的指定安卓应用的分身应用向安卓系统请求调用目标组件的事件;当监听到该事件时,禁止该事件继续执行;获取该事件对应的目标组件的相关信息;根据所述目标组件的相关信息确定所述目标组件所属的组件类型,从预先声明的预留进程中选择适配于该组件类型的预留进程。
8.如权利要求7所述的装置,其中,所述目标组件的相关信息包括:所述目标组件对应的Intent参数;
所述常驻服务单元,适于启动所选择的预留进程,加载所述目标组件,根据所述目标组件对应的Intent参数在该预留进程中对所述目标组件进行实例化,使得实例化的目标组件在该预留进程中运行。
9.如权利要求7或8所述的装置,其中,所述信息配置单元,适于在安卓系统中预先声明Activity预留进程,所述Activity预留进程适配于Activity组件类型;
所述常驻服务单元,适于当所述目标组件属于Activity组件类型时,启动一个Activity预留进程,将所述目标组件分配至该Activity预留进程中运行。
10.如权利要求9所述的装置,其中,
所述常驻服务单元,进一步适于维护一个Activity任务栈;还适于在所述启动一个Activity预留进程之前,根据所述目标组件的相关信息,判断当前所述Activity任务栈中是否存在关于所述目标组件的符合预定条件的任务;是则,不再执行所述启动一个Activity预留进程的操作,根据所述目标组件的启动模式对所述任务进行调用;否则,执行所述启动一个Activity预留进程并将所述目标组件分配至该Activity预留进程中运行的操作,并将所述目标组件的运行事件作为一个任务压入所述Activity任务栈中。