一種軟件運(yùn)行方法、裝置及終端的制作方法
【專利摘要】本發(fā)明實(shí)施例公開(kāi)了一種軟件運(yùn)行方法,包括:目標(biāo)應(yīng)用軟件的主進(jìn)程檢測(cè)到需要激活指定組件的觸發(fā)事件時(shí),獲取該觸發(fā)事件的參數(shù)信息;根據(jù)所述參數(shù)信息,啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程,所述子進(jìn)程獨(dú)立于所述主進(jìn)程;通過(guò)在所述子進(jìn)程中調(diào)用激活的指定組件的方式來(lái)響應(yīng)所述觸發(fā)事件;檢測(cè)到關(guān)閉所述指定組件的觸發(fā)事件時(shí),關(guān)閉所述子進(jìn)程。本發(fā)明實(shí)施例還公開(kāi)了一種軟件運(yùn)行裝置及終端。采用本發(fā)明實(shí)施例,可以有效利用系統(tǒng)的內(nèi)存資源,提高應(yīng)用軟件的運(yùn)行效率。
【專利說(shuō)明】一種軟件運(yùn)行方法、裝置及終端
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,尤其涉及一種軟件運(yùn)行方法、裝置及終端。
【背景技術(shù)】
[0002]隨著終端技術(shù)的發(fā)展,終端上運(yùn)行的應(yīng)用軟件越來(lái)越多樣化,應(yīng)用軟件提供的功能也越來(lái)越豐富,通常,應(yīng)用軟件在提供其自身的主打功能外,還會(huì)提供一些額外的附加功能,使人們的生活變得更便捷。例如,絕大多數(shù)即時(shí)通訊類(lèi)應(yīng)用軟件中均提供網(wǎng)頁(yè)瀏覽功能,用戶使用該類(lèi)應(yīng)用軟件時(shí)可直接從該類(lèi)應(yīng)用軟件中瀏覽熱門(mén)新聞等信息,而無(wú)需使用專用瀏覽器類(lèi)軟件瀏覽網(wǎng)頁(yè)。
[0003]隨著應(yīng)用軟件提供的功能越來(lái)越豐富,應(yīng)用軟件中加載的組件數(shù)量也呈增長(zhǎng)趨勢(shì)。通常,系統(tǒng)啟動(dòng)應(yīng)用軟件時(shí),會(huì)自動(dòng)給應(yīng)用軟件分配有限的內(nèi)存資源給該應(yīng)用軟件使用或調(diào)用。由于可供應(yīng)用軟件調(diào)用的內(nèi)存資源有限,在現(xiàn)有的軟件運(yùn)行方法中,若由于組件本身的缺陷存在該組件不再使用時(shí)所占用的內(nèi)存無(wú)法得到完全釋放的情況或應(yīng)用軟件存在部分組件占用較大內(nèi)存的情況,將導(dǎo)致應(yīng)用軟件因內(nèi)存不足而運(yùn)行不順暢,甚至崩潰。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例提供一種軟件運(yùn)行方法、裝置及終端,可以有效利用系統(tǒng)的內(nèi)存資源,提高應(yīng)用軟件的運(yùn)行效率。
[0005]第一方面,本發(fā)明實(shí)施例提供一種軟件運(yùn)行方法,包括:
[0006]目標(biāo)應(yīng)用軟件的主進(jìn)程檢測(cè)到需要激活指定組件的觸發(fā)事件時(shí),獲取該觸發(fā)事件的參數(shù)信息;
[0007]根據(jù)所述參數(shù)信息,啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程,所述子進(jìn)程獨(dú)立于所述主進(jìn)程;
[0008]通過(guò)在所述子進(jìn)程中調(diào)用激活的指定組件的方式來(lái)響應(yīng)所述觸發(fā)事件;
[0009]檢測(cè)到關(guān)閉所述指定組件的觸發(fā)事件時(shí),關(guān)閉所述子進(jìn)程。
[0010]在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述指定組件包括WebView組件。
[0011]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述目標(biāo)應(yīng)用軟件的主進(jìn)程檢測(cè)到需要激活指定組件的觸發(fā)事件時(shí),獲取該觸發(fā)事件的參數(shù)信息,包括:
[0012]目標(biāo)應(yīng)用軟件的主進(jìn)程接收到針對(duì)該軟件的顯示界面輸入的訪問(wèn)Web頁(yè)面的http請(qǐng)求時(shí),獲取所述http請(qǐng)求的參數(shù)信息,所述參數(shù)信息包括網(wǎng)址信息和Activity活動(dòng)標(biāo)識(shí)。
[0013]結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述通過(guò)在所述子進(jìn)程中調(diào)用激活的指定組件的方式來(lái)響應(yīng)所述觸發(fā)事件,包括:
[0014]通過(guò)在所述子進(jìn)程中調(diào)用激活的指定組件的方式獲取所述網(wǎng)址信息對(duì)應(yīng)的網(wǎng)頁(yè)的頁(yè)面內(nèi)容;
[0015]顯示該網(wǎng)頁(yè)的頁(yè)面內(nèi)容。
[0016]結(jié)合第一方面或第一方面的上述任意一種可能的實(shí)現(xiàn)方式,在第一方面的第四種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述參數(shù)信息,啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程之前,所述方法還包括:
[0017]識(shí)別系統(tǒng)中是否已啟動(dòng)有針對(duì)該指定組件預(yù)先設(shè)置的子進(jìn)程;
[0018]若否,執(zhí)行所述根據(jù)所述參數(shù)信息,啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程的步驟。
[0019]第二方面,本發(fā)明實(shí)施例提供一種軟件運(yùn)行裝置,包括:
[0020]獲取模塊,用于目標(biāo)應(yīng)用軟件的主進(jìn)程檢測(cè)到需要激活指定組件的觸發(fā)事件時(shí),獲取該觸發(fā)事件的參數(shù)信息;
[0021]啟動(dòng)模塊,用于根據(jù)所述參數(shù)信息,啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程,所述子進(jìn)程獨(dú)立于所述主進(jìn)程;
[0022]響應(yīng)模塊,用于通過(guò)在所述子進(jìn)程中調(diào)用激活的指定組件的方式來(lái)響應(yīng)所述觸發(fā)事件;
[0023]關(guān)閉模塊,用于檢測(cè)到關(guān)閉所述指定組件的觸發(fā)事件時(shí),關(guān)閉所述子進(jìn)程。
[0024]在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述指定組件包括WebView組件。
[0025]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述獲取模塊具體用于:
[0026]目標(biāo)應(yīng)用軟件的主進(jìn)程接收到針對(duì)該軟件的顯示界面輸入的訪問(wèn)Web頁(yè)面的http請(qǐng)求時(shí),獲取所述http請(qǐng)求的參數(shù)信息,所述參數(shù)信息包括網(wǎng)址信息和Activity活動(dòng)標(biāo)識(shí)。
[0027]結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述響應(yīng)模塊具體用于:
[0028]通過(guò)在所述子進(jìn)程中調(diào)用激活的指定組件的方式獲取所述網(wǎng)址信息對(duì)應(yīng)的網(wǎng)頁(yè)的頁(yè)面內(nèi)容;
[0029]顯示該網(wǎng)頁(yè)的頁(yè)面內(nèi)容。
[0030]結(jié)合第二方面或第二方面的上述任意一種可能的實(shí)現(xiàn)方式,在第二方面的第四種可能的實(shí)現(xiàn)方式中,所述裝置還包括:
[0031]識(shí)別模塊,用于識(shí)別系統(tǒng)中是否已啟動(dòng)有針對(duì)該指定組件預(yù)先設(shè)置的子進(jìn)程;
[0032]所述啟動(dòng)模塊,用于:
[0033]若系統(tǒng)中未啟動(dòng)有針對(duì)該指定組件預(yù)先設(shè)置的子進(jìn)程,根據(jù)所述參數(shù)信息,啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程。
[0034]第三方面,本發(fā)明實(shí)施例提供一種終端,包括如上所述的任意一種軟件運(yùn)行裝置。
[0035]實(shí)施本發(fā)明實(shí)施例,目標(biāo)應(yīng)用軟件的主進(jìn)程檢測(cè)到需要激活指定組件的觸發(fā)事件時(shí),獲取該觸發(fā)事件的參數(shù)信息;啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程;所述子進(jìn)程調(diào)用激活的指定組件來(lái)響應(yīng)所述觸發(fā)事件;檢測(cè)到關(guān)閉所述指定組件的觸發(fā)事件時(shí),關(guān)閉所述子進(jìn)程,釋放子進(jìn)程占用的系統(tǒng)資源。采用本發(fā)明實(shí)施例,可以有效利用系統(tǒng)的內(nèi)存資源,提高應(yīng)用軟件的運(yùn)行效率。
【專利附圖】
【附圖說(shuō)明】
[0036]為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0037]圖1是本發(fā)明實(shí)施例提供的一種軟件運(yùn)行方法的流程示意圖;
[0038]圖2是本發(fā)明實(shí)施例提供的一種軟件運(yùn)行方法的另一流程示意圖;
[0039]圖2a是圖2提供的其中一種顯示界面示意圖;
[0040]圖2b是圖2提供的其中一種Web頁(yè)面的顯不不意圖;
[0041]圖3是本發(fā)明實(shí)施例提供的一種軟件運(yùn)行裝置的結(jié)構(gòu)示意圖;
[0042]圖4是本發(fā)明實(shí)施例提供的一種軟件運(yùn)行裝置的另一結(jié)構(gòu)示意圖;
[0043]圖5是本發(fā)明實(shí)施例提供的一種終端的結(jié)構(gòu)示意圖;
[0044]圖6是本發(fā)明實(shí)施例提供的一種軟件運(yùn)行裝置的又一結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0045]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0046]本發(fā)明實(shí)施例提供了一種軟件運(yùn)行方法、裝置及終端,目標(biāo)應(yīng)用軟件的主進(jìn)程檢測(cè)到需要激活指定組件的觸發(fā)事件時(shí),啟動(dòng)針對(duì)該指定組件設(shè)置的子進(jìn)程;子進(jìn)程調(diào)用激活的指定組件來(lái)響應(yīng)該觸發(fā)事件;檢測(cè)到關(guān)閉該指定組件的觸發(fā)事件時(shí),關(guān)閉該子進(jìn)程。本發(fā)明實(shí)施例中,指定組件可以是占用內(nèi)存資源較大的組件或者是不再使用時(shí)無(wú)法正常釋放所占用的內(nèi)存資源的組件,從而,在軟件運(yùn)行過(guò)程中,指定組件的激活不僅不會(huì)占用主進(jìn)程的內(nèi)存資源,而且在需要關(guān)閉激活的指定組件時(shí)可以正常釋放該子進(jìn)程占用的內(nèi)存資源。采用本發(fā)明實(shí)施例,可以有效利用系統(tǒng)的內(nèi)存資源,提高應(yīng)用軟件的運(yùn)行效率。下面將結(jié)合附圖1-附圖6對(duì)本發(fā)明實(shí)施例提供的一種軟件運(yùn)行方法、裝置及終端分別進(jìn)行詳細(xì)介紹。
[0047]請(qǐng)參見(jiàn)圖1,圖1是本發(fā)明實(shí)施例提供的一種軟件運(yùn)行方法的流程示意圖,在本發(fā)明實(shí)施例中,該方法可以包括以下步驟。
[0048]SlOl:目標(biāo)應(yīng)用軟件的主進(jìn)程檢測(cè)到需要激活指定組件的觸發(fā)事件時(shí),獲取該觸發(fā)事件的參數(shù)信息。
[0049]在大多數(shù)情況下,每個(gè)Android應(yīng)用軟件都運(yùn)行在自己的Linux進(jìn)程中,當(dāng)應(yīng)用軟件的某些代碼需要運(yùn)行時(shí),這個(gè)進(jìn)程就被創(chuàng)建并一直運(yùn)行下去,直到系統(tǒng)認(rèn)為該進(jìn)程不再有用為止,然后系統(tǒng)將回收進(jìn)程占用的內(nèi)存以便分配給其它的應(yīng)用軟件使用??芍?,現(xiàn)有技術(shù)中,一個(gè)應(yīng)用軟件通常只對(duì)應(yīng)一個(gè)進(jìn)程,換句話說(shuō),應(yīng)用軟件中的所有組件均運(yùn)行在同一個(gè)進(jìn)程中,啟動(dòng)應(yīng)用軟件時(shí),自動(dòng)啟動(dòng)該應(yīng)用軟件對(duì)應(yīng)的進(jìn)程。
[0050]在終端上啟動(dòng)應(yīng)用軟件時(shí),操作系統(tǒng)自動(dòng)給運(yùn)行該應(yīng)用軟件的進(jìn)程分配有限的內(nèi)存資源,即給每款應(yīng)用軟件均設(shè)置一個(gè)內(nèi)存調(diào)用量上限值,運(yùn)行該應(yīng)用軟件的進(jìn)程僅可以使用所分配的內(nèi)存資源,且最大的使用量不能超過(guò)所設(shè)定的上限值。當(dāng)分配給應(yīng)用軟件使用的內(nèi)存資源不夠該進(jìn)程使用時(shí),即便系統(tǒng)存在空閑的內(nèi)存資源,該應(yīng)用軟件對(duì)應(yīng)的進(jìn)程也不能使用這些未分配的空閑資源。因此,若應(yīng)用軟件中某些已加載的組件占用較大的內(nèi)存資源,或者是由于組件本身的缺陷,導(dǎo)致該組件不再使用時(shí)系統(tǒng)無(wú)法正常釋放掉該組件所占用的內(nèi)存資源時(shí),該類(lèi)應(yīng)用軟件在運(yùn)行過(guò)程中所占用的內(nèi)存資源很容易達(dá)到系統(tǒng)設(shè)定的上限值。當(dāng)應(yīng)用軟件實(shí)際占用的內(nèi)存大小趨于系統(tǒng)分配的可供該應(yīng)用軟件使用的上限值時(shí),該應(yīng)用軟件將出現(xiàn)卡頓,甚至奔潰現(xiàn)象,從而,系統(tǒng)的內(nèi)存資源不僅沒(méi)有得到有效利用,而且將導(dǎo)致終端上的應(yīng)用軟件運(yùn)行效率低,影響用戶體驗(yàn)。
[0051]本發(fā)明實(shí)施例中,通過(guò)預(yù)先調(diào)研獲知哪些組件占用的內(nèi)存資源較大,例如:用于顯示全屏、大容量圖片界面的組件;哪些組件占用的內(nèi)存資源將無(wú)法得到正常釋放,例如:用于在應(yīng)用軟件中瀏覽網(wǎng)頁(yè)的WebView組件??梢詫⑦@些組件預(yù)先設(shè)置為指定組件,其中,指定組件包括WebView組件。當(dāng)應(yīng)用軟件中需要激活這些指定組件時(shí),單獨(dú)為這些指定組件啟動(dòng)一個(gè)新的進(jìn)程,系統(tǒng)給新啟動(dòng)的進(jìn)程分配內(nèi)存資源,因此,指定組件的激活并不會(huì)占用應(yīng)用軟件所在進(jìn)程的內(nèi)存資源,且可以根據(jù)實(shí)際需要關(guān)閉新啟動(dòng)的進(jìn)程,靈活釋放子進(jìn)程占用的內(nèi)存資源,即指定組件占用的內(nèi)存資源。從而,通過(guò)有效利用系統(tǒng)的內(nèi)存資源,提高應(yīng)用軟件的運(yùn)行效率。
[0052]為方便說(shuō)明,本發(fā)明實(shí)施例中將運(yùn)行目標(biāo)應(yīng)用軟件的進(jìn)程稱為主進(jìn)程,運(yùn)行指定組件的進(jìn)程稱為子進(jìn)程。當(dāng)目標(biāo)應(yīng)用軟件的主進(jìn)程檢測(cè)到需要激活指定組件的觸發(fā)事件時(shí),獲取該觸發(fā)事件的參數(shù)信息,該參數(shù)信息用于標(biāo)識(shí)需要啟動(dòng)的子進(jìn)程,使系統(tǒng)可以根據(jù)該參數(shù)信息去啟動(dòng)對(duì)應(yīng)的子進(jìn)程。例如:參數(shù)信息可以是子進(jìn)程標(biāo)識(shí),子進(jìn)程標(biāo)識(shí)可以是子進(jìn)程名稱,或者是與子進(jìn)程名稱關(guān)聯(lián)的標(biāo)識(shí)符等信息,如Activity活動(dòng)標(biāo)識(shí)。具體的,本發(fā)明實(shí)施例不作限制。
[0053]S102:根據(jù)所述參數(shù)信息,啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程,所述子進(jìn)程獨(dú)立于所述主進(jìn)程。
[0054]例如:根據(jù)參數(shù)信息中的Activity活動(dòng)標(biāo)識(shí),啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程,所述子進(jìn)程獨(dú)立于所述主進(jìn)程。其中,在Activity活動(dòng)標(biāo)識(shí)標(biāo)定的Activity中預(yù)先加載或定義了指定組件及使用指定組件響應(yīng)觸發(fā)事件的方法,用于響應(yīng)接收到的觸發(fā)事件。系統(tǒng)啟動(dòng)子進(jìn)程時(shí),自動(dòng)給該子進(jìn)程分配一定的內(nèi)存資源,從而,避免指定組件占用目標(biāo)應(yīng)用軟件的內(nèi)存資源,且可有效利用系統(tǒng)中空閑的內(nèi)存資源。
[0055]S103:通過(guò)在所述子進(jìn)程中調(diào)用激活的指定組件的方式來(lái)響應(yīng)所述觸發(fā)事件。
[0056]子進(jìn)程啟動(dòng)后,指定組件被激活,通過(guò)在所述子進(jìn)程中調(diào)用激活的指定組件的方式來(lái)響應(yīng)觸發(fā)事件。具體的響應(yīng)方法預(yù)先設(shè)置在Activity活動(dòng)標(biāo)識(shí)標(biāo)定的Activity中,當(dāng)檢測(cè)到相應(yīng)的觸發(fā)事件時(shí),在所述子進(jìn)程中調(diào)用激活的指定組件響應(yīng)該觸發(fā)事件。具體的,調(diào)用指定組件的響應(yīng)方法由觸發(fā)事件的具體類(lèi)型和需要激活的指定組件決定,本發(fā)明實(shí)施例不作限制。例如:假設(shè)指定組件為打開(kāi)網(wǎng)頁(yè)的WebView組件,子進(jìn)程調(diào)用激活的WebView組件來(lái)打開(kāi)相應(yīng)的網(wǎng)頁(yè);假設(shè)指定組件為打開(kāi)全屏、大容量圖片界面的組件,子進(jìn)程調(diào)用激活的該指定組件來(lái)打開(kāi)對(duì)應(yīng)的圖片或界面。
[0057]S104:檢測(cè)到關(guān)閉所述指定組件的觸發(fā)事件時(shí),關(guān)閉所述子進(jìn)程。
[0058]本發(fā)明實(shí)施例中,檢測(cè)到關(guān)閉指定組件的觸發(fā)事件時(shí),說(shuō)明用戶不再使用該組件,因此,關(guān)閉子進(jìn)程,以便釋放子進(jìn)程占用的內(nèi)存資源供系統(tǒng)重新分配給其它進(jìn)程使用。從而,使系統(tǒng)的內(nèi)存資源得到有效利用。且有效避免了因指定組件的加載導(dǎo)致主進(jìn)程運(yùn)行時(shí)出現(xiàn)內(nèi)存不足的情況,提高目標(biāo)應(yīng)用軟件的運(yùn)行效率。
[0059]在本發(fā)明實(shí)施例描述的軟件運(yùn)行方法中,目標(biāo)應(yīng)用軟件的主進(jìn)程檢測(cè)到需要激活指定組件的觸發(fā)事件時(shí),獲取該觸發(fā)事件的參數(shù)信息;啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程;所述子進(jìn)程調(diào)用激活的指定組件來(lái)響應(yīng)所述觸發(fā)事件;檢測(cè)到關(guān)閉所述指定組件的觸發(fā)事件時(shí),關(guān)閉所述子進(jìn)程,釋放子進(jìn)程占用的系統(tǒng)資源。采用本發(fā)明實(shí)施例,可以有效利用系統(tǒng)的內(nèi)存資源,提高應(yīng)用軟件的運(yùn)行效率。
[0060]請(qǐng)參見(jiàn)圖2,圖2是本發(fā)明實(shí)施例提供的一種軟件運(yùn)行方法的另一流程示意圖,在本發(fā)明實(shí)施例中,該方法可以包括以下步驟。
[0061]S201:目標(biāo)應(yīng)用軟件的主進(jìn)程接收到針對(duì)該軟件的顯示界面輸入的訪問(wèn)Web頁(yè)面的http請(qǐng)求時(shí),獲取所述http請(qǐng)求的參數(shù)信息。
[0062]WebView類(lèi)是WebKit模塊Java層的視圖類(lèi),所有需要使用Web瀏覽功能的Android應(yīng)用軟件都要?jiǎng)?chuàng)建該視圖對(duì)象來(lái)顯示和處理請(qǐng)求的網(wǎng)絡(luò)資源,在SDK (SoftwareDevelopment Kit,軟件開(kāi)發(fā)工具包)中封裝成了 WebView組件,可以用來(lái)瀏覽網(wǎng)絡(luò)內(nèi)容。Activity是Android組件中最基本也是最為常見(jiàn)的四大組件(Activity活動(dòng),Service服務(wù),Content Provider內(nèi)容提供者,BroadcastReceiver廣播接收器)之一,應(yīng)用程序中一個(gè)Activity通常就是一個(gè)單獨(dú)的屏幕。
[0063]現(xiàn)有方法在應(yīng)用軟件中使用WebView組件時(shí),通常把WebView組件所在的Activity和其它Activity均配置在一個(gè)進(jìn)程中,需要顯示網(wǎng)頁(yè)時(shí)啟動(dòng)WebView組件所在的Activity,通過(guò)WebView組件加載網(wǎng)頁(yè)內(nèi)容。由于WebView組件的加載會(huì)占用較多的內(nèi)存資源,因此,導(dǎo)致應(yīng)用軟件所在進(jìn)程的內(nèi)存使用量過(guò)大,而且,由于WebView組件自身實(shí)現(xiàn)上的一些缺陷,在退出Web頁(yè)面時(shí)WebView組件占用的部分內(nèi)存資源無(wú)法得到完全釋放,降低了可供該類(lèi)應(yīng)用軟件實(shí)際使用的內(nèi)存量,導(dǎo)致應(yīng)用軟件的運(yùn)行效率低,且系統(tǒng)的內(nèi)存資源利用率不高。本發(fā)明實(shí)施例中的指定組件為WebView組件。
[0064]由于指定組件配置在Activity中,本發(fā)明實(shí)施例中,開(kāi)發(fā)人員可以預(yù)先在目標(biāo)應(yīng)用軟件的配置文件中對(duì)WebView組件所在的Activity進(jìn)行配置,將WebView組件所在的Activity配置到一個(gè)獨(dú)立進(jìn)程中。例如:在配置文件AndroidMainfest.xml中給WebView組件所在的Activity配置android:process標(biāo)簽。在目標(biāo)應(yīng)用軟件的運(yùn)行過(guò)程中,當(dāng)目標(biāo)應(yīng)用軟件的主進(jìn)程接收到針對(duì)該軟件的顯示界面輸入的訪問(wèn)Web頁(yè)面的http請(qǐng)求時(shí),獲取所述http請(qǐng)求的參數(shù)信息,其中,參數(shù)信息包括網(wǎng)址信息和Activity活動(dòng)標(biāo)識(shí)。網(wǎng)址信息用于指示需要訪問(wèn)的Web頁(yè)面,Activity活動(dòng)標(biāo)識(shí)用于標(biāo)定打開(kāi)該Web頁(yè)面需要激活的WebView 組件所在的 Activity。
[0065]為方便說(shuō)明,請(qǐng)參見(jiàn)圖2a,圖2a是圖2提供的其中一種顯示界面示意圖。目標(biāo)應(yīng)用軟件提供瀏覽網(wǎng)頁(yè)的附加功能,通常,在目標(biāo)應(yīng)用軟件的某個(gè)顯示界面上提供一個(gè)網(wǎng)頁(yè)入口,如圖2a中圖⑴所示的“XX新聞”,用戶點(diǎn)擊“XX新聞”的區(qū)域后,跳轉(zhuǎn)到如圖2a中圖(2)所示的顯示界面,在該顯示界面中顯示有目標(biāo)應(yīng)用軟件向用戶推薦的各網(wǎng)頁(yè)的網(wǎng)頁(yè)標(biāo)題,如“新聞A”、“新聞B”等等。用戶點(diǎn)擊目標(biāo)新聞所在標(biāo)題的區(qū)域后,發(fā)送http請(qǐng)求。為方便說(shuō)明,假設(shè)用戶點(diǎn)擊網(wǎng)頁(yè)標(biāo)題為“新聞B”的區(qū)域,則終端接收到圖2a中圖(2)所示的顯示界面上輸入的訪問(wèn)“新聞B”對(duì)應(yīng)的Web頁(yè)面的http請(qǐng)求時(shí),獲取該請(qǐng)求的參數(shù)信息,所述參數(shù)信息包括“新聞B”對(duì)應(yīng)的Web頁(yè)面的網(wǎng)址信息和用于加載網(wǎng)頁(yè)的WebView組件所在的Activity的活動(dòng)標(biāo)識(shí)。具體的,可以是目標(biāo)應(yīng)用軟件的主進(jìn)程檢測(cè)到針對(duì)該軟件的顯示界面輸入的訪問(wèn)Web頁(yè)面的http請(qǐng)求時(shí),獲取http請(qǐng)求期望訪問(wèn)的Web頁(yè)面的網(wǎng)址信息以及響應(yīng)該Web頁(yè)面的Activity的活動(dòng)標(biāo)識(shí)等參數(shù)信息,其中,在該活動(dòng)標(biāo)識(shí)指定的Activity中加載了 WebView組件。目標(biāo)應(yīng)用軟件的主進(jìn)程向系統(tǒng)發(fā)送intent消息,指示系統(tǒng)啟動(dòng)該活動(dòng)標(biāo)識(shí)指定的Activity,訪問(wèn)網(wǎng)址信息對(duì)應(yīng)的Web頁(yè)面。
[0066]S202:根據(jù)所述參數(shù)信息,啟動(dòng)針對(duì)WebView組件預(yù)先設(shè)置的子進(jìn)程,所述子進(jìn)程獨(dú)立于所述主進(jìn)程。
[0067]系統(tǒng)接收到目標(biāo)應(yīng)用軟件的主進(jìn)程發(fā)送的intent消息后,根據(jù)該消息中攜帶的活動(dòng)標(biāo)識(shí),啟動(dòng)針對(duì)WebView組件預(yù)先設(shè)置的子進(jìn)程,即WebView組件所在的Activity對(duì)應(yīng)的進(jìn)程,所述子進(jìn)程獨(dú)立于所述主進(jìn)程。
[0068]S203:通過(guò)在所述子進(jìn)程中調(diào)用激活的WebView組件的方式獲取所述網(wǎng)址信息對(duì)應(yīng)的網(wǎng)頁(yè)的頁(yè)面內(nèi)容。
[0069]將WebView組件預(yù)先加載在Activity中,并在Activity中實(shí)現(xiàn)響應(yīng)http請(qǐng)求的方法。從而,接收到http請(qǐng)求后,啟動(dòng)該Activity對(duì)應(yīng)的子進(jìn)程,通過(guò)在子進(jìn)程中調(diào)用激活的WebView組件的方式獲取http請(qǐng)求中攜帶的網(wǎng)址信息對(duì)應(yīng)的網(wǎng)頁(yè)的頁(yè)面內(nèi)容。例如:具體的響應(yīng)方法包括解析HTML (HyperText Markup Language,超文本標(biāo)記語(yǔ)言)、排版、渲染等等。
[0070]S204:顯示該網(wǎng)頁(yè)的頁(yè)面內(nèi)容。
[0071]S205:檢測(cè)到關(guān)閉所述WebView組件的觸發(fā)事件時(shí),關(guān)閉所述子進(jìn)程。
[0072]為方便說(shuō)明,請(qǐng)參見(jiàn)圖2b,圖2b是圖2提供的其中一種Web頁(yè)面的顯示示意圖。用戶在瀏覽Web頁(yè)面的過(guò)程中,若點(diǎn)擊“返回”按鈕,說(shuō)明指定組件暫時(shí)不再使用,則檢測(cè)到關(guān)閉所述WebView組件的觸發(fā)事件,調(diào)用WebView組件所在的Activity中的銷(xiāo)毀函數(shù),關(guān)閉所述子進(jìn)程,從而釋放子進(jìn)程占用的內(nèi)存資源供系統(tǒng)分配給其它進(jìn)程使用。
[0073]在本發(fā)明實(shí)施例描述的軟件運(yùn)行方法中,目標(biāo)應(yīng)用軟件的主進(jìn)程檢測(cè)到需要激活指定組件的觸發(fā)事件時(shí),獲取該觸發(fā)事件的參數(shù)信息;啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程;所述子進(jìn)程調(diào)用激活的指定組件來(lái)響應(yīng)所述觸發(fā)事件;檢測(cè)到關(guān)閉所述指定組件的觸發(fā)事件時(shí),關(guān)閉所述子進(jìn)程,釋放子進(jìn)程占用的系統(tǒng)資源。采用本發(fā)明實(shí)施例,可以有效利用系統(tǒng)的內(nèi)存資源,提高應(yīng)用軟件的運(yùn)行效率。
[0074]值得說(shuō)明的是,在上述實(shí)施例中,由步驟S102或步驟S202實(shí)現(xiàn)根據(jù)參數(shù)信息,啟動(dòng)針對(duì)指定組件預(yù)先設(shè)置的子進(jìn)程的操作之前,所述方法還可以包括識(shí)別系統(tǒng)中是否已啟動(dòng)有針對(duì)該指定組件預(yù)先設(shè)置的子進(jìn)程,若已啟動(dòng)有針對(duì)該指定組件預(yù)先設(shè)置的子進(jìn)程,則系統(tǒng)無(wú)需再啟動(dòng)新的子進(jìn)程,在已經(jīng)啟動(dòng)的子進(jìn)程中調(diào)用激活的指定組件響應(yīng)觸發(fā)事件即可;若未啟動(dòng)有針對(duì)該指定組件預(yù)先設(shè)置的子進(jìn)程,則啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程,激活指定組件。
[0075]下面為本發(fā)明裝置實(shí)施例,本發(fā)明裝置實(shí)施例與本發(fā)明方法實(shí)施例屬于同一構(gòu)思,用于執(zhí)行本發(fā)明方法實(shí)施例中描述的方法。為了便于說(shuō)明,本發(fā)明裝置實(shí)施例僅示出與本發(fā)明裝置實(shí)施例相關(guān)的部分,具體技術(shù)細(xì)節(jié)未揭示的,請(qǐng)參照本發(fā)明方法實(shí)施例的描述,此處不再一一贅述。
[0076]請(qǐng)參見(jiàn)圖3,圖3是本發(fā)明實(shí)施例提供的一種軟件運(yùn)行裝置的結(jié)構(gòu)示意圖,在本發(fā)明實(shí)施例中,該裝置可以包括:獲取模塊101、啟動(dòng)模塊102、響應(yīng)模塊103和關(guān)閉模塊104。
[0077]獲取模塊101,用于目標(biāo)應(yīng)用軟件的主進(jìn)程檢測(cè)到需要激活指定組件的觸發(fā)事件時(shí),獲取該觸發(fā)事件的參數(shù)信息。
[0078]啟動(dòng)模塊102,用于根據(jù)所述參數(shù)信息,啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程,所述子進(jìn)程獨(dú)立于所述主進(jìn)程。
[0079]響應(yīng)模塊103,用于通過(guò)在所述子進(jìn)程中調(diào)用激活的指定組件的方式來(lái)響應(yīng)所述觸發(fā)事件。
[0080]關(guān)閉模塊104,用于檢測(cè)到關(guān)閉所述指定組件的觸發(fā)事件時(shí),關(guān)閉所述子進(jìn)程。
[0081]在本發(fā)明實(shí)施例描述的軟件運(yùn)行裝置中,目標(biāo)應(yīng)用軟件的主進(jìn)程檢測(cè)到需要激活指定組件的觸發(fā)事件時(shí),獲取該觸發(fā)事件的參數(shù)信息;啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程;所述子進(jìn)程調(diào)用激活的指定組件來(lái)響應(yīng)所述觸發(fā)事件;檢測(cè)到關(guān)閉所述指定組件的觸發(fā)事件時(shí),關(guān)閉所述子進(jìn)程,釋放子進(jìn)程占用的系統(tǒng)資源。采用本發(fā)明實(shí)施例,可以有效利用系統(tǒng)的內(nèi)存資源,提高應(yīng)用軟件的運(yùn)行效率。
[0082]請(qǐng)參見(jiàn)圖4,圖4是本發(fā)明實(shí)施例提供的一種軟件運(yùn)行裝置的另一結(jié)構(gòu)示意圖,在本發(fā)明實(shí)施例中,該裝置可以包括:獲取模塊201、啟動(dòng)模塊202、響應(yīng)模塊203、關(guān)閉模塊204和識(shí)別模塊205。
[0083]獲取模塊201,用于目標(biāo)應(yīng)用軟件的主進(jìn)程檢測(cè)到需要激活指定組件的觸發(fā)事件時(shí),獲取該觸發(fā)事件的參數(shù)信息。
[0084]啟動(dòng)模塊202,用于根據(jù)所述參數(shù)信息,啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程,所述子進(jìn)程獨(dú)立于所述主進(jìn)程。
[0085]響應(yīng)模塊203,用于通過(guò)在所述子進(jìn)程中調(diào)用激活的指定組件的方式來(lái)響應(yīng)所述觸發(fā)事件。
[0086]關(guān)閉模塊204,用于檢測(cè)到關(guān)閉所述指定組件的觸發(fā)事件時(shí),關(guān)閉所述子進(jìn)程。
[0087]識(shí)別模塊205,用于識(shí)別系統(tǒng)中是否已啟動(dòng)有針對(duì)該指定組件預(yù)先設(shè)置的子進(jìn)程。
[0088]作為一種可能的實(shí)施方式,所述指定組件包括WebView組件。
[0089]作為一種可能的實(shí)施方式,獲取模塊201具體用于:
[0090]目標(biāo)應(yīng)用軟件的主進(jìn)程接收到針對(duì)該軟件的顯示界面輸入的訪問(wèn)Web頁(yè)面的http請(qǐng)求時(shí),獲取所述http請(qǐng)求的參數(shù)信息,所述參數(shù)信息包括網(wǎng)址信息和Activity活動(dòng)標(biāo)識(shí)。
[0091]作為一種可能的實(shí)施方式,響應(yīng)模塊203具體用于:
[0092]通過(guò)在所述子進(jìn)程中調(diào)用激活的指定組件的方式獲取所述網(wǎng)址信息對(duì)應(yīng)的網(wǎng)頁(yè)的頁(yè)面內(nèi)容;
[0093]顯示該網(wǎng)頁(yè)的頁(yè)面內(nèi)容。
[0094]作為一種可能的實(shí)施方式,啟動(dòng)模塊202,用于若系統(tǒng)中未啟動(dòng)有針對(duì)該指定組件預(yù)先設(shè)置的子進(jìn)程,根據(jù)所述參數(shù)信息,啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程。
[0095]在本發(fā)明實(shí)施例描述的軟件運(yùn)行裝置中,目標(biāo)應(yīng)用軟件的主進(jìn)程檢測(cè)到需要激活指定組件的觸發(fā)事件時(shí),獲取該觸發(fā)事件的參數(shù)信息;啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程;所述子進(jìn)程調(diào)用激活的指定組件來(lái)響應(yīng)所述觸發(fā)事件;檢測(cè)到關(guān)閉所述指定組件的觸發(fā)事件時(shí),關(guān)閉所述子進(jìn)程,釋放子進(jìn)程占用的系統(tǒng)資源。采用本發(fā)明實(shí)施例,可以有效利用系統(tǒng)的內(nèi)存資源,提高應(yīng)用軟件的運(yùn)行效率。
[0096]請(qǐng)參見(jiàn)圖5,圖5是本發(fā)明實(shí)施例提供的一種終端的結(jié)構(gòu)示意圖,在本發(fā)明實(shí)施例中,終端10包括如上所述的軟件運(yùn)行裝置。在本發(fā)明實(shí)施例中,所述終端可以包括:智能手機(jī)、電腦、平板電腦、筆記本電腦、掌上電腦以及移動(dòng)互聯(lián)網(wǎng)設(shè)備(MID)、PAD等終端設(shè)備。具體的,本發(fā)明實(shí)施例不作限制。
[0097]值得說(shuō)明的是,終端10包括如上所述的任意一種軟件運(yùn)行裝置,為方便說(shuō)明,以其中一種軟件運(yùn)行裝置來(lái)進(jìn)行說(shuō)明。目標(biāo)應(yīng)用軟件的主進(jìn)程檢測(cè)到需要激活指定組件的觸發(fā)事件時(shí),獲取該觸發(fā)事件的參數(shù)信息;根據(jù)所述參數(shù)信息,啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程,所述子進(jìn)程獨(dú)立于所述主進(jìn)程;通過(guò)在所述子進(jìn)程中調(diào)用激活的指定組件的方式來(lái)響應(yīng)所述觸發(fā)事件;檢測(cè)到關(guān)閉所述指定組件的觸發(fā)事件時(shí),關(guān)閉所述子進(jìn)程。
[0098]在本發(fā)明實(shí)施例描述的終端中,目標(biāo)應(yīng)用軟件的主進(jìn)程檢測(cè)到需要激活指定組件的觸發(fā)事件時(shí),獲取該觸發(fā)事件的參數(shù)信息;啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程;所述子進(jìn)程調(diào)用激活的指定組件來(lái)響應(yīng)所述觸發(fā)事件;檢測(cè)到關(guān)閉所述指定組件的觸發(fā)事件時(shí),關(guān)閉所述子進(jìn)程,釋放子進(jìn)程占用的系統(tǒng)資源。采用本發(fā)明實(shí)施例,可以有效利用系統(tǒng)的內(nèi)存資源,提高應(yīng)用軟件的運(yùn)行效率。
[0099]請(qǐng)參見(jiàn)圖6,圖6是本發(fā)明實(shí)施例提供的一種軟件運(yùn)行裝置的又一結(jié)構(gòu)示意圖,用于執(zhí)行本發(fā)明實(shí)施例公開(kāi)的軟件運(yùn)行方法,該裝置可以包括:至少一個(gè)處理器301,例如CPU,至少一個(gè)網(wǎng)絡(luò)接口 304或者其他用戶接口 303,存儲(chǔ)器305,至少一個(gè)通信總線302。通信總線302用于實(shí)現(xiàn)這些組件之間的連接通信。其中,用戶接口 303可選的可以包括USB接口以及其他標(biāo)準(zhǔn)接口、有線接口。網(wǎng)絡(luò)接口 304可選的可以包括W1-Fi接口以及其他無(wú)線接口。存儲(chǔ)器305可能包含高速RAM存儲(chǔ)器,也可能還包括非不穩(wěn)定的存儲(chǔ)器(non-volatilememory),例如至少一個(gè)磁盤(pán)存儲(chǔ)器。存儲(chǔ)器305可選的可以包含至少一個(gè)位于遠(yuǎn)離前述處理器301的存儲(chǔ)裝置。如圖6所示,作為一種計(jì)算機(jī)存儲(chǔ)介質(zhì)的存儲(chǔ)器305中可以包括操作系統(tǒng)3051及應(yīng)用程序3052。
[0100]在一些實(shí)施方式中,存儲(chǔ)器305存儲(chǔ)了如下的元素,可執(zhí)行模塊或者數(shù)據(jù)結(jié)構(gòu),或者他們的子集,或者他們的擴(kuò)展集:
[0101]操作系統(tǒng)3051,包含各種系統(tǒng)程序,用于實(shí)現(xiàn)各種基礎(chǔ)業(yè)務(wù)以及處理基于硬件的任務(wù);
[0102]應(yīng)用程序3052,包含目標(biāo)網(wǎng)絡(luò)數(shù)據(jù)的數(shù)據(jù)分塊參數(shù)的設(shè)置程序、目標(biāo)數(shù)據(jù)塊的劃分程序、目標(biāo)數(shù)據(jù)塊與數(shù)據(jù)庫(kù)中的數(shù)據(jù)塊的比較程序以及目標(biāo)數(shù)據(jù)塊的刪除程序等各種應(yīng)用程序,用于實(shí)現(xiàn)各種應(yīng)用業(yè)務(wù)。
[0103]具體地,處理器301用于調(diào)用存儲(chǔ)器305中存儲(chǔ)的程序,執(zhí)行以下操作:
[0104]目標(biāo)應(yīng)用軟件的主進(jìn)程檢測(cè)到需要激活指定組件的觸發(fā)事件時(shí),獲取該觸發(fā)事件的參數(shù)信息;
[0105]根據(jù)所述參數(shù)信息,啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程,所述子進(jìn)程獨(dú)立于所述主進(jìn)程;
[0106]通過(guò)在所述子進(jìn)程中調(diào)用激活的指定組件的方式來(lái)響應(yīng)所述觸發(fā)事件;
[0107]檢測(cè)到關(guān)閉所述指定組件的觸發(fā)事件時(shí),關(guān)閉所述子進(jìn)程。
[0108]在另一種實(shí)施例中,所述指定組件包括WebView組件。
[0109]在另一種實(shí)施例中,目標(biāo)應(yīng)用軟件的主進(jìn)程檢測(cè)到需要激活指定組件的觸發(fā)事件時(shí),處理器301執(zhí)行所述獲取該觸發(fā)事件的參數(shù)信息,具體包括執(zhí)行以下操作:
[0110]目標(biāo)應(yīng)用軟件的主進(jìn)程接收到針對(duì)該軟件的顯示界面輸入的訪問(wèn)Web頁(yè)面的http請(qǐng)求時(shí),獲取所述http請(qǐng)求的參數(shù)信息,所述參數(shù)信息包括網(wǎng)址信息和Activity活動(dòng)標(biāo)識(shí)。
[0111]在另一種實(shí)施例中,處理器301執(zhí)行所述通過(guò)在所述子進(jìn)程中調(diào)用激活的指定組件的方式來(lái)響應(yīng)所述觸發(fā)事件,具體包括執(zhí)行以下操作:
[0112]通過(guò)在所述子進(jìn)程中調(diào)用激活的指定組件的方式獲取所述網(wǎng)址信息對(duì)應(yīng)的網(wǎng)頁(yè)的頁(yè)面內(nèi)容;
[0113]顯示該網(wǎng)頁(yè)的頁(yè)面內(nèi)容。
[0114]在另一種實(shí)施例中,處理器301執(zhí)行所述根據(jù)所述參數(shù)信息,啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程的操作之前,還包括執(zhí)行以下操作:
[0115]識(shí)別系統(tǒng)中是否已啟動(dòng)有針對(duì)該指定組件預(yù)先設(shè)置的子進(jìn)程;
[0116]若識(shí)別出系統(tǒng)中未啟動(dòng)有針對(duì)該指定組件預(yù)先設(shè)置的子進(jìn)程,執(zhí)行所述根據(jù)所述參數(shù)信息,啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程的操作。
[0117]在本發(fā)明實(shí)施例描述的技術(shù)方案中,目標(biāo)應(yīng)用軟件的主進(jìn)程檢測(cè)到需要激活指定組件的觸發(fā)事件時(shí),獲取該觸發(fā)事件的參數(shù)信息;啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程;所述子進(jìn)程調(diào)用激活的指定組件來(lái)響應(yīng)所述觸發(fā)事件;檢測(cè)到關(guān)閉所述指定組件的觸發(fā)事件時(shí),關(guān)閉所述子進(jìn)程,釋放子進(jìn)程占用的系統(tǒng)資源。采用本發(fā)明實(shí)施例,可以有效利用系統(tǒng)的內(nèi)存資源,提高應(yīng)用軟件的運(yùn)行效率。
[0118]在本說(shuō)明書(shū)的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書(shū)中,對(duì)上述術(shù)語(yǔ)的示意性表述不一定是必須針對(duì)相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說(shuō)明書(shū)中描述的不同實(shí)施例或示例以及不同實(shí)施例或示例的特征進(jìn)行結(jié)合和組合。
[0119]本領(lǐng)域的技術(shù)人員可以將本說(shuō)明書(shū)中描述的不同實(shí)施例以及不同實(shí)施例的特征進(jìn)行結(jié)合和組合。本發(fā)明所有實(shí)施例中的模塊或單元,可以通過(guò)通用集成電路,例如 CPU (Central Processing Unit,中央處理器),或通過(guò) ASIC (Applicat1n SpecificIntegrated Circuit,專用集成電路)來(lái)實(shí)現(xiàn)。
[0120]本發(fā)明所有實(shí)施例方法中的步驟可以根據(jù)實(shí)際需要進(jìn)行順序調(diào)整、合并和刪減;本發(fā)明所有實(shí)施例裝置中的模塊或單元可以根據(jù)實(shí)際需要進(jìn)行合并、劃分和刪減。
[0121]流程圖中或在此以其他方式描述的任何過(guò)程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過(guò)程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來(lái)執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬【技術(shù)領(lǐng)域】的技術(shù)人員所理解。
[0122]在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實(shí)現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實(shí)現(xiàn)在任何計(jì)算機(jī)可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計(jì)算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說(shuō)明書(shū)而言,"計(jì)算機(jī)可讀介質(zhì)"可以是任何可以包含、存儲(chǔ)、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計(jì)算機(jī)可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個(gè)或多個(gè)布線的電連接部(電子裝置),便攜式計(jì)算機(jī)盤(pán)盒(磁裝置),隨機(jī)存取存儲(chǔ)器(RAM),只讀存儲(chǔ)器(R0M),可擦除可編輯只讀存儲(chǔ)器(EPR0M或閃速存儲(chǔ)器),光纖裝置,以及便攜式光盤(pán)只讀存儲(chǔ)器(⑶ROM)。另外,計(jì)算機(jī)可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因?yàn)榭梢岳缤ㄟ^(guò)對(duì)紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必要時(shí)以其他合適方式進(jìn)行處理來(lái)以電子方式獲得所述程序,然后將其存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中。
[0123]本【技術(shù)領(lǐng)域】的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
[0124]此外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理模塊中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷(xiāo)售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。
[0125]上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤(pán)或光盤(pán)等。盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。
[0126]以上所揭露的僅為本發(fā)明的較佳實(shí)施例而已,當(dāng)然不能以此來(lái)限定本發(fā)明之權(quán)利范圍,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分流程,并依本發(fā)明權(quán)利要求所作的等同變化,仍屬于發(fā)明所涵蓋的范圍。
【權(quán)利要求】
1.一種軟件運(yùn)行方法,其特征在于,包括: 目標(biāo)應(yīng)用軟件的主進(jìn)程檢測(cè)到需要激活指定組件的觸發(fā)事件時(shí),獲取該觸發(fā)事件的參數(shù)信息; 根據(jù)所述參數(shù)信息,啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程,所述子進(jìn)程獨(dú)立于所述主進(jìn)程; 通過(guò)在所述子進(jìn)程中調(diào)用激活的指定組件的方式來(lái)響應(yīng)所述觸發(fā)事件; 檢測(cè)到關(guān)閉所述指定組件的觸發(fā)事件時(shí),關(guān)閉所述子進(jìn)程。
2.如權(quán)利要求1所述的方法,其特征在于,所述指定組件包括WebView組件。
3.如權(quán)利要求2所述的方法,其特征在于,所述目標(biāo)應(yīng)用軟件的主進(jìn)程檢測(cè)到需要激活指定組件的觸發(fā)事件時(shí),獲取該觸發(fā)事件的參數(shù)信息,包括: 目標(biāo)應(yīng)用軟件的主進(jìn)程接收到針對(duì)該軟件的顯示界面輸入的訪問(wèn)Web頁(yè)面的http請(qǐng)求時(shí),獲取所述http請(qǐng)求的參數(shù)信息,所述參數(shù)信息包括網(wǎng)址信息和Activity活動(dòng)標(biāo)識(shí)。
4.如權(quán)利要求3所述的方法,其特征在于,所述通過(guò)在所述子進(jìn)程中調(diào)用激活的指定組件的方式來(lái)響應(yīng)所述觸發(fā)事件,包括: 通過(guò)在所述子進(jìn)程中調(diào)用激活的指定組件的方式獲取所述網(wǎng)址信息對(duì)應(yīng)的網(wǎng)頁(yè)的頁(yè)面內(nèi)容; 顯示該網(wǎng)頁(yè)的頁(yè)面內(nèi)容。
5.如權(quán)利要求1-4任一所述的方法,其特征在于,所述根據(jù)所述參數(shù)信息,啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程之前,所述方法還包括: 識(shí)別系統(tǒng)中是否已啟動(dòng)有針對(duì)該指定組件預(yù)先設(shè)置的子進(jìn)程; 若否,執(zhí)行所述根據(jù)所述參數(shù)信息,啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程的步驟。
6.一種軟件運(yùn)行裝置,其特征在于,包括: 獲取模塊,用于目標(biāo)應(yīng)用軟件的主進(jìn)程檢測(cè)到需要激活指定組件的觸發(fā)事件時(shí),獲取該觸發(fā)事件的參數(shù)信息; 啟動(dòng)模塊,用于根據(jù)所述參數(shù)信息,啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程,所述子進(jìn)程獨(dú)立于所述主進(jìn)程; 響應(yīng)模塊,用于通過(guò)在所述子進(jìn)程中調(diào)用激活的指定組件的方式來(lái)響應(yīng)所述觸發(fā)事件; 關(guān)閉模塊,用于檢測(cè)到關(guān)閉所述指定組件的觸發(fā)事件時(shí),關(guān)閉所述子進(jìn)程。
7.如權(quán)利要求6所述的裝置,其特征在于,所述指定組件包括WebView組件。
8.如權(quán)利要求7所述的裝置,其特征在于,所述獲取模塊具體用于: 目標(biāo)應(yīng)用軟件的主進(jìn)程接收到針對(duì)該軟件的顯示界面輸入的訪問(wèn)Web頁(yè)面的http請(qǐng)求時(shí),獲取所述http請(qǐng)求的參數(shù)信息,所述參數(shù)信息包括網(wǎng)址信息和Activity活動(dòng)標(biāo)識(shí)。
9.如權(quán)利要求8所述的裝置,其特征在于,所述響應(yīng)模塊具體用于: 通過(guò)在所述子進(jìn)程中調(diào)用激活的指定組件的方式獲取所述網(wǎng)址信息對(duì)應(yīng)的網(wǎng)頁(yè)的頁(yè)面內(nèi)容; 顯示該網(wǎng)頁(yè)的頁(yè)面內(nèi)容。
10.如權(quán)利要求6-9任一所述的裝置,其特征在于,所述裝置還包括: 識(shí)別模塊,用于識(shí)別系統(tǒng)中是否已啟動(dòng)有針對(duì)該指定組件預(yù)先設(shè)置的子進(jìn)程; 所述啟動(dòng)模塊,用于: 若系統(tǒng)中未啟動(dòng)有針對(duì)該指定組件預(yù)先設(shè)置的子進(jìn)程,根據(jù)所述參數(shù)信息,啟動(dòng)針對(duì)所述指定組件預(yù)先設(shè)置的子進(jìn)程。
11.一種終端,其特征在于,包括如權(quán)利要求6-10任一項(xiàng)所述的軟件運(yùn)行裝置。
【文檔編號(hào)】G06F9/48GK104268019SQ201410491993
【公開(kāi)日】2015年1月7日 申請(qǐng)日期:2014年9月23日 優(yōu)先權(quán)日:2014年9月23日
【發(fā)明者】云峰, 楊年彪 申請(qǐng)人:廣州金山網(wǎng)絡(luò)科技有限公司