1.一種安卓應(yīng)用的進(jìn)程管理方法,其中,包括:
在安卓系統(tǒng)中預(yù)先聲明適配于各種組件類型的預(yù)留進(jìn)程;
構(gòu)造虛擬機(jī)環(huán)境,將安卓系統(tǒng)中的一個(gè)或多個(gè)指定安卓應(yīng)用的分身應(yīng)用放入虛擬機(jī)中運(yùn)行;
當(dāng)指定安卓應(yīng)用的分身應(yīng)用需要運(yùn)行目標(biāo)組件時(shí),從預(yù)先聲明的預(yù)留進(jìn)程中選擇適配于所述目標(biāo)組件所屬的組件類型的預(yù)留進(jìn)程,將所述目標(biāo)組件分配至所選擇的預(yù)留進(jìn)程中運(yùn)行。
2.如權(quán)利要求1所述的方法,其中,所述當(dāng)指定安卓應(yīng)用的分身應(yīng)用需要運(yùn)行目標(biāo)組件時(shí),從預(yù)先聲明的預(yù)留進(jìn)程中選擇適配于所述目標(biāo)組件所屬組件類型的預(yù)留進(jìn)程包括:
監(jiān)聽(tīng)虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用向安卓系統(tǒng)請(qǐng)求調(diào)用目標(biāo)組件的事件;
當(dāng)監(jiān)聽(tīng)到該事件時(shí),禁止該事件繼續(xù)執(zhí)行;獲取該事件對(duì)應(yīng)的目標(biāo)組件的相關(guān)信息;
根據(jù)所述目標(biāo)組件的相關(guān)信息確定所述目標(biāo)組件所屬的組件類型,從預(yù)先聲明的預(yù)留進(jìn)程中選擇適配于該組件類型的預(yù)留進(jìn)程。
3.如權(quán)利要求2所述的方法,其中,所述目標(biāo)組件的相關(guān)信息包括:所述目標(biāo)組件對(duì)應(yīng)的Intent參數(shù);所述將所述目標(biāo)組件分配至所選擇的預(yù)留進(jìn)程中運(yùn)行包括:
啟動(dòng)所選擇的預(yù)留進(jìn)程,加載所述目標(biāo)組件,根據(jù)所述目標(biāo)組件對(duì)應(yīng)的Intent參數(shù)在該預(yù)留進(jìn)程中對(duì)所述目標(biāo)組件進(jìn)行實(shí)例化,使得實(shí)例化的目標(biāo)組件在該預(yù)留進(jìn)程中運(yùn)行。
4.如權(quán)利要求2或3所述的方法,其中,所述在安卓系統(tǒng)中預(yù)先聲明適配于各種組件類型的預(yù)留進(jìn)程包括:在安卓系統(tǒng)中預(yù)先聲明Activity預(yù)留進(jìn)程,所述Activity預(yù)留進(jìn)程適配于Activity組件類型;
當(dāng)所述目標(biāo)組件屬于Activity組件類型時(shí),所述從預(yù)先聲明的預(yù)留進(jìn)程中選擇適配于所述目標(biāo)組件所屬組件類型的預(yù)留進(jìn)程,將所述目標(biāo)組件分配至所選擇的預(yù)留進(jìn)程中運(yùn)行包括:?jiǎn)?dòng)一個(gè)Activity預(yù)留進(jìn)程,將所述目標(biāo)組件分配至該Activity預(yù)留進(jìn)程中運(yùn)行。
5.如權(quán)利要求4所述的方法,其中,該方法進(jìn)一步包括:維護(hù)一個(gè)Activity任務(wù)棧;在所述啟動(dòng)一個(gè)Activity預(yù)留進(jìn)程之前,該方法進(jìn)一步包括:
根據(jù)所述目標(biāo)組件的相關(guān)信息,判斷當(dāng)前所述Activity任務(wù)棧中是否存在關(guān)于所述目標(biāo)組件的符合預(yù)定條件的任務(wù);
是則,不再執(zhí)行所述啟動(dòng)一個(gè)Activity預(yù)留進(jìn)程的操作,根據(jù)所述目標(biāo)組件的啟動(dòng)模式對(duì)所述任務(wù)進(jìn)行調(diào)用;
否則,執(zhí)行所述啟動(dòng)一個(gè)Activity預(yù)留進(jìn)程并將所述目標(biāo)組件分配至該Activity預(yù)留進(jìn)程中運(yùn)行的操作,并將所述目標(biāo)組件的運(yùn)行事件作為一個(gè)任務(wù)壓入所述Activity任務(wù)棧中。
6.一種安卓應(yīng)用的進(jìn)程管理裝置,其中,包括:
信息配置單元,適于在安卓系統(tǒng)中預(yù)先聲明適配于各種組件類型的預(yù)留進(jìn)程;
環(huán)境構(gòu)造單元,適于構(gòu)造虛擬機(jī)環(huán)境,將安卓系統(tǒng)中的一個(gè)或多個(gè)指定安卓應(yīng)用的分身應(yīng)用放入虛擬機(jī)中運(yùn)行;
常駐服務(wù)單元,適于當(dāng)指定安卓應(yīng)用的分身應(yīng)用需要運(yùn)行目標(biāo)組件時(shí),從預(yù)先聲明的預(yù)留進(jìn)程中選擇適配于所述目標(biāo)組件所屬的組件類型的預(yù)留進(jìn)程,將所述目標(biāo)組件分配至所選擇的預(yù)留進(jìn)程中運(yùn)行。
7.如權(quán)利要求6所述的裝置,其中,
所述常駐服務(wù)單元,適于監(jiān)聽(tīng)虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用向安卓系統(tǒng)請(qǐng)求調(diào)用目標(biāo)組件的事件;當(dāng)監(jiān)聽(tīng)到該事件時(shí),禁止該事件繼續(xù)執(zhí)行;獲取該事件對(duì)應(yīng)的目標(biāo)組件的相關(guān)信息;根據(jù)所述目標(biāo)組件的相關(guān)信息確定所述目標(biāo)組件所屬的組件類型,從預(yù)先聲明的預(yù)留進(jìn)程中選擇適配于該組件類型的預(yù)留進(jìn)程。
8.如權(quán)利要求7所述的裝置,其中,所述目標(biāo)組件的相關(guān)信息包括:所述目標(biāo)組件對(duì)應(yīng)的Intent參數(shù);
所述常駐服務(wù)單元,適于啟動(dòng)所選擇的預(yù)留進(jìn)程,加載所述目標(biāo)組件,根據(jù)所述目標(biāo)組件對(duì)應(yīng)的Intent參數(shù)在該預(yù)留進(jìn)程中對(duì)所述目標(biāo)組件進(jìn)行實(shí)例化,使得實(shí)例化的目標(biāo)組件在該預(yù)留進(jìn)程中運(yùn)行。
9.如權(quán)利要求7或8所述的裝置,其中,所述信息配置單元,適于在安卓系統(tǒng)中預(yù)先聲明Activity預(yù)留進(jìn)程,所述Activity預(yù)留進(jìn)程適配于Activity組件類型;
所述常駐服務(wù)單元,適于當(dāng)所述目標(biāo)組件屬于Activity組件類型時(shí),啟動(dòng)一個(gè)Activity預(yù)留進(jìn)程,將所述目標(biāo)組件分配至該Activity預(yù)留進(jìn)程中運(yùn)行。
10.如權(quán)利要求9所述的裝置,其中,
所述常駐服務(wù)單元,進(jìn)一步適于維護(hù)一個(gè)Activity任務(wù)棧;還適于在所述啟動(dòng)一個(gè)Activity預(yù)留進(jìn)程之前,根據(jù)所述目標(biāo)組件的相關(guān)信息,判斷當(dāng)前所述Activity任務(wù)棧中是否存在關(guān)于所述目標(biāo)組件的符合預(yù)定條件的任務(wù);是則,不再執(zhí)行所述啟動(dòng)一個(gè)Activity預(yù)留進(jìn)程的操作,根據(jù)所述目標(biāo)組件的啟動(dòng)模式對(duì)所述任務(wù)進(jìn)行調(diào)用;否則,執(zhí)行所述啟動(dòng)一個(gè)Activity預(yù)留進(jìn)程并將所述目標(biāo)組件分配至該Activity預(yù)留進(jìn)程中運(yùn)行的操作,并將所述目標(biāo)組件的運(yùn)行事件作為一個(gè)任務(wù)壓入所述Activity任務(wù)棧中。