清理后臺(tái)運(yùn)行應(yīng)用的方法和裝置制造方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種清理后臺(tái)運(yùn)行應(yīng)用的方法,包括:創(chuàng)建用于管理應(yīng)用的運(yùn)行狀態(tài)的應(yīng)用定時(shí)器線程;當(dāng)應(yīng)用運(yùn)行時(shí),通過(guò)應(yīng)用定時(shí)器線程生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn);當(dāng)應(yīng)用為后臺(tái)運(yùn)行時(shí),判斷應(yīng)用是否達(dá)到預(yù)置的銷(xiāo)毀條件,若是,則銷(xiāo)毀應(yīng)用。本發(fā)明還公開(kāi)了相應(yīng)的裝置。采用本發(fā)明所公開(kāi)的方案,當(dāng)轉(zhuǎn)為后臺(tái)運(yùn)行的某個(gè)應(yīng)用達(dá)到預(yù)置的銷(xiāo)毀條件時(shí),將該應(yīng)用銷(xiāo)毀,從而提高了移動(dòng)終端的應(yīng)用操作速度,提升了其整體性能,并且在很大程度上提高了用戶(hù)的使用體驗(yàn)。
【專(zhuān)利說(shuō)明】清理后臺(tái)運(yùn)行應(yīng)用的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及到移動(dòng)通信【技術(shù)領(lǐng)域】,特別涉及到一種清理后臺(tái)運(yùn)行應(yīng)用的方法和裝置。
【背景技術(shù)】
[0002]隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,搭載Android系統(tǒng)的智能手機(jī)和平板電腦等移動(dòng)終端已經(jīng)被廣泛使用,其中,中低端配置的移動(dòng)終端的普及性最高,大眾也比較容易消費(fèi),然而中低端配置的移動(dòng)終端,突出的缺點(diǎn)是內(nèi)存低和耗電量大。在Android系統(tǒng)中,打開(kāi)后處于運(yùn)行中的應(yīng)用,當(dāng)其不是前臺(tái)應(yīng)用時(shí)會(huì)將其轉(zhuǎn)為后臺(tái)應(yīng)用,但是該應(yīng)用進(jìn)程仍然存在,并且始終占用內(nèi)存和資源,而隨著用戶(hù)使用移動(dòng)終端的時(shí)間越來(lái)越長(zhǎng),打開(kāi)的應(yīng)用也越來(lái)越多,這樣在用戶(hù)操作一段時(shí)間后,移動(dòng)終端的應(yīng)用操作速度會(huì)降低,導(dǎo)致其整體性能下降;還有可能會(huì)引起觸摸屏的觸摸效果和靈敏度降低,從而嚴(yán)重影響用戶(hù)對(duì)移動(dòng)終端的使用體驗(yàn)。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的主要目的為提供一種清理后臺(tái)運(yùn)行應(yīng)用的方法和裝置,旨在提高移動(dòng)終端的應(yīng)用操作速度,提升其整體性能,并且提高用戶(hù)的使用體驗(yàn)。
[0004]本發(fā)明提供一種清理后臺(tái)運(yùn)行應(yīng)用的方法,包括:
[0005]創(chuàng)建用于管理應(yīng)用的運(yùn)行狀態(tài)的應(yīng)用定時(shí)器線程;
[0006]當(dāng)應(yīng)用運(yùn)行時(shí),通過(guò)所述應(yīng)用定時(shí)器線程生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)
占.[0007]當(dāng)所述應(yīng)用為后臺(tái)運(yùn)行時(shí),判斷所述應(yīng)用是否達(dá)到預(yù)置的銷(xiāo)毀條件,若是,則銷(xiāo)毀所述應(yīng)用。
[0008]優(yōu)選地,所述當(dāng)應(yīng)用運(yùn)行時(shí),通過(guò)所述應(yīng)用定時(shí)器線程生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn)包括:
[0009]當(dāng)應(yīng)用運(yùn)行時(shí),通過(guò)所述應(yīng)用定時(shí)器線程創(chuàng)建該應(yīng)用的應(yīng)用定時(shí)器、所述應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、所述應(yīng)用的活動(dòng)窗口名稱(chēng),以及應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組;
[0010]根據(jù)所述應(yīng)用定時(shí)器、所述應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、所述應(yīng)用的活動(dòng)窗口名稱(chēng),以及所述應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn)。
[0011]優(yōu)選地,所述應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)用于標(biāo)識(shí)該應(yīng)用是否為前臺(tái)運(yùn)行的應(yīng)用;所述應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組包括應(yīng)用的活動(dòng)窗口標(biāo)識(shí)和應(yīng)用的活動(dòng)窗口當(dāng)前狀態(tài)標(biāo)識(shí)符,其中,所述應(yīng)用的活動(dòng)窗口標(biāo)識(shí)用于唯一標(biāo)識(shí)所述應(yīng)用的活動(dòng)窗口,所述應(yīng)用的活動(dòng)窗口當(dāng)前狀態(tài)標(biāo)識(shí)符用于指示所述活動(dòng)窗口當(dāng)前的運(yùn)行狀態(tài)。
[0012]優(yōu)選地,所述當(dāng)應(yīng)用為后臺(tái)運(yùn)行時(shí),判斷所述應(yīng)用是否達(dá)到預(yù)置的銷(xiāo)毀條件包括:
[0013]當(dāng)所述應(yīng)用為后臺(tái)運(yùn)行時(shí),判斷所述應(yīng)用的運(yùn)行時(shí)間是否達(dá)到預(yù)置的應(yīng)用定時(shí)器閾值;所述應(yīng)用定時(shí)器閾值為運(yùn)行所述應(yīng)用以及與該應(yīng)用相關(guān)的進(jìn)程、內(nèi)存和資源的時(shí)間極大值;
[0014]若應(yīng)用的運(yùn)行時(shí)間是否達(dá)到預(yù)置的應(yīng)用定時(shí)器閾值,判斷系統(tǒng)內(nèi)存的剩余空間是否達(dá)到預(yù)置的極值。
[0015]優(yōu)選地,在執(zhí)行所述判斷應(yīng)用是否達(dá)到預(yù)置的銷(xiāo)毀條件之后,還包括:
[0016]判斷顯示屏是否處于鎖屏狀態(tài)。
[0017]優(yōu)選地,在執(zhí)行所述通過(guò)應(yīng)用定時(shí)器線程生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn)之后,還包括:
[0018]將生成的所述應(yīng)用定時(shí)器管理節(jié)點(diǎn)加入到所述應(yīng)用定時(shí)器線程的線程隊(duì)列中。
[0019]優(yōu)選地,所述銷(xiāo)毀應(yīng)用包括:
[0020]將所述應(yīng)用的狀態(tài)由暫停狀態(tài)或停止?fàn)顟B(tài)切換至銷(xiāo)毀狀態(tài),銷(xiāo)毀所述應(yīng)用以及與該應(yīng)用相關(guān)的進(jìn)程、內(nèi)存和資源;
[0021]從所述應(yīng)用定時(shí)器線程的線程隊(duì)列中刪除與所述應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn)。
[0022]本發(fā)明還提供一種清理后臺(tái)運(yùn)行應(yīng)用的裝置,包括:
[0023]線程創(chuàng)建模塊,用于創(chuàng)建用于管理應(yīng)用的運(yùn)行狀態(tài)的應(yīng)用定時(shí)器線程;
[0024]節(jié)點(diǎn)生成模塊,用于當(dāng)應(yīng)用運(yùn)行時(shí),通過(guò)所述應(yīng)用定時(shí)器線程生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn);
[0025]第一判斷模塊,用于當(dāng)所述應(yīng)用為后臺(tái)運(yùn)行時(shí),判斷所述應(yīng)用是否達(dá)到預(yù)置的銷(xiāo)毀條件;
[0026]銷(xiāo)毀模塊,用于當(dāng)所述應(yīng)用達(dá)到預(yù)置的銷(xiāo)毀條件時(shí),銷(xiāo)毀所述應(yīng)用。
[0027]優(yōu)選地,所述節(jié)點(diǎn)生成模塊包括:
[0028]創(chuàng)建單元,用于當(dāng)應(yīng)用運(yùn)行時(shí),通過(guò)所述應(yīng)用定時(shí)器線程創(chuàng)建該應(yīng)用的應(yīng)用定時(shí)器、所述應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、所述應(yīng)用的活動(dòng)窗口名稱(chēng),以及應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組;
[0029]節(jié)點(diǎn)生成單元,用于根據(jù)所述應(yīng)用定時(shí)器、所述應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、所述應(yīng)用的活動(dòng)窗口名稱(chēng),以及所述應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn)。
[0030]優(yōu)選地,所述應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)用于標(biāo)識(shí)該應(yīng)用是否為前臺(tái)運(yùn)行的應(yīng)用;所述應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組包括應(yīng)用的活動(dòng)窗口標(biāo)識(shí)和應(yīng)用的活動(dòng)窗口當(dāng)前狀態(tài)標(biāo)識(shí)符,其中,所述應(yīng)用的活動(dòng)窗口標(biāo)識(shí)用于唯一標(biāo)識(shí)所述應(yīng)用的活動(dòng)窗口,所述應(yīng)用的活動(dòng)窗口當(dāng)前狀態(tài)標(biāo)識(shí)符用于指示所述活動(dòng)窗口當(dāng)前的運(yùn)行狀態(tài)。
[0031]優(yōu)選地,所述判斷模塊包括:
[0032]第一判斷單元,用于當(dāng)所述應(yīng)用為后臺(tái)運(yùn)行時(shí),判斷所述應(yīng)用的運(yùn)行時(shí)間是否達(dá)到預(yù)置的應(yīng)用定時(shí)器閾值;所述應(yīng)用定時(shí)器閾值為運(yùn)行所述應(yīng)用以及與該應(yīng)用相關(guān)的進(jìn)程、內(nèi)存和資源的時(shí)間極大值;
[0033]第二判斷單元,用于若應(yīng)用的運(yùn)行時(shí)間是否達(dá)到預(yù)置的應(yīng)用定時(shí)器閾值,判斷系統(tǒng)內(nèi)存的剩余空間是否達(dá)到預(yù)置的極值。
[0034]優(yōu)選地,清理后臺(tái)運(yùn)行應(yīng)用的裝置還包括:
[0035]第二判斷模塊,用于判斷顯示屏是否處于鎖屏狀態(tài)。
[0036]優(yōu)選地,清理后臺(tái)運(yùn)行應(yīng)用的裝置還包括:[0037]線程加入模塊,用于將生成的所述應(yīng)用定時(shí)器管理節(jié)點(diǎn)加入到所述應(yīng)用定時(shí)器線程的線程隊(duì)列中。
[0038]優(yōu)選地,所述銷(xiāo)毀模塊包括:
[0039]銷(xiāo)毀單元,用于將所述應(yīng)用的狀態(tài)由暫停狀態(tài)或停止?fàn)顟B(tài)切換至銷(xiāo)毀狀態(tài),銷(xiāo)毀所述應(yīng)用以及與該應(yīng)用相關(guān)的進(jìn)程、內(nèi)存和資源;
[0040]刪除單元,用于從所述應(yīng)用定時(shí)器線程的線程隊(duì)列中刪除與所述應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn)。
[0041]本發(fā)明通過(guò)在移動(dòng)終端的操作系統(tǒng)啟動(dòng)時(shí),創(chuàng)建用于管理應(yīng)用的運(yùn)行狀態(tài)的應(yīng)用定時(shí)器線程,當(dāng)應(yīng)用運(yùn)行時(shí),通過(guò)創(chuàng)建的應(yīng)用定時(shí)器線程生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn);當(dāng)切換應(yīng)用或退出當(dāng)前應(yīng)用使該應(yīng)用轉(zhuǎn)為后臺(tái)運(yùn)行時(shí),判斷應(yīng)用是否達(dá)到預(yù)置的銷(xiāo)毀條件,若是,銷(xiāo)毀該應(yīng)用。當(dāng)轉(zhuǎn)為后臺(tái)運(yùn)行的某個(gè)應(yīng)用達(dá)到預(yù)置的銷(xiāo)毀條件時(shí),將該應(yīng)用銷(xiāo)毀,從而提高了移動(dòng)終端的應(yīng)用操作速度,提升了其整體性能,并且在很大程度上提高了用戶(hù)的使用體驗(yàn)。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0042]圖1為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的方法一實(shí)施例的流程示意圖;
[0043]圖2為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的方法中生成應(yīng)用定時(shí)器管理節(jié)點(diǎn)的流程示意圖;
[0044]圖3為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的方法中判斷應(yīng)用是否達(dá)到預(yù)置的銷(xiāo)毀條件的流程示意圖;
[0045]圖4為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的方法另一實(shí)施例的流程示意圖;
[0046]圖5為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的方法又一實(shí)施例的流程示意圖;
[0047]圖6為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的方法中銷(xiāo)毀應(yīng)用的流程示意圖;
[0048]圖7為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的裝置一實(shí)施例的結(jié)構(gòu)示意圖;
[0049]圖8為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的裝置中節(jié)點(diǎn)生成模塊的結(jié)構(gòu)示意圖;
[0050]圖9為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的裝置中第一判斷模塊的結(jié)構(gòu)示意圖;
[0051]圖10為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的裝置另一實(shí)施例的結(jié)構(gòu)示意圖;
[0052]圖11為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的裝置又一實(shí)施例的結(jié)構(gòu)示意圖;
[0053]圖12為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的裝置中銷(xiāo)毀模塊的結(jié)構(gòu)示意圖。
[0054]本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。
【具體實(shí)施方式】
[0055]應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0056]本發(fā)明提供一種清理后臺(tái)運(yùn)行應(yīng)用的方法,當(dāng)轉(zhuǎn)為后臺(tái)運(yùn)行的某個(gè)應(yīng)用達(dá)到預(yù)置的應(yīng)用定時(shí)器閾值,并且當(dāng)前移動(dòng)終端的顯示屏處于鎖屏狀態(tài)時(shí),將該應(yīng)用以及與其相關(guān)的所有進(jìn)程、內(nèi)存和資源銷(xiāo)毀,實(shí)現(xiàn)動(dòng)態(tài)地清理運(yùn)行中的應(yīng)用。
[0057]參照?qǐng)D1,圖1為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的方法一實(shí)施例的流程示意圖。
[0058]本實(shí)施例所提供的種清理后臺(tái)運(yùn)行應(yīng)用的方法,包括:
[0059]步驟S10,創(chuàng)建用于管理應(yīng)用的運(yùn)行狀態(tài)的應(yīng)用定時(shí)器線程;[0060]本實(shí)施例中,通過(guò)改進(jìn)移動(dòng)終端中Android系統(tǒng)的內(nèi)核代碼,啟動(dòng)一個(gè)定時(shí)器線程,即改進(jìn)Android系統(tǒng)中的AMS (Activity Manager Service),在移動(dòng)終端的操作系統(tǒng)啟動(dòng)的過(guò)程中由AMS負(fù)責(zé)創(chuàng)建一個(gè)應(yīng)用定時(shí)器線程。通過(guò)AMS同時(shí)負(fù)責(zé)接收定時(shí)器管理應(yīng)用界面根據(jù)用戶(hù)的設(shè)置所下發(fā)的消息和數(shù)據(jù),發(fā)送銷(xiāo)毀在后臺(tái)運(yùn)行的應(yīng)用的進(jìn)程的消息。
[0061]創(chuàng)建應(yīng)用定時(shí)器線程的流程為:在移動(dòng)終端的操作系統(tǒng)啟動(dòng)時(shí),通過(guò)Android系統(tǒng)的核心進(jìn)程之一的系統(tǒng)服務(wù)模塊SystemServer調(diào)用啟動(dòng)級(jí)別為initl和init2的函數(shù),初始化Dalvik虛擬機(jī),并在init2中調(diào)用new和start方法,用于創(chuàng)建并啟動(dòng)服務(wù)線程ServerThread ;當(dāng)ServerThread運(yùn)行后啟動(dòng)AMS,然后通過(guò)new Thread方式創(chuàng)建應(yīng)用定時(shí)器線程AppTimerThread。應(yīng)用定時(shí)器線程進(jìn)行無(wú)線循環(huán),等待AMS發(fā)送的消息并根據(jù)消息進(jìn)行相應(yīng)的處理。
[0062]步驟S20,當(dāng)應(yīng)用運(yùn)行時(shí),通過(guò)應(yīng)用定時(shí)器線程生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn);
[0063]創(chuàng)建了應(yīng)用定時(shí)器線程后,當(dāng)某一應(yīng)用運(yùn)行時(shí),AMS通知應(yīng)用定時(shí)器線程有新的應(yīng)用運(yùn)行,而后通過(guò)應(yīng)用定時(shí)器線程,生成一個(gè)與當(dāng)前運(yùn)行的應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn),所生成的該應(yīng)用定時(shí)器管理節(jié)點(diǎn)用于定時(shí)對(duì)相應(yīng)的應(yīng)用的活動(dòng)窗口進(jìn)行管理。本實(shí)施例中,當(dāng)用戶(hù)切換應(yīng)用使該應(yīng)用處于后臺(tái)進(jìn)行運(yùn)行時(shí),會(huì)動(dòng)態(tài)并實(shí)時(shí)調(diào)整該應(yīng)用定時(shí)器管理節(jié)點(diǎn)的屬性;或當(dāng)該應(yīng)用被銷(xiāo)毀時(shí),將該應(yīng)用定時(shí)器管理節(jié)點(diǎn)刪除。
[0064]步驟S30,當(dāng)應(yīng)用為后臺(tái)運(yùn)行時(shí),判斷應(yīng)用是否達(dá)到預(yù)置的銷(xiāo)毀條件,若是,則執(zhí)行步驟S31 ;
[0065]步驟S31,銷(xiāo)毀應(yīng)用。
[0066]如用戶(hù)切換應(yīng)用,當(dāng)前運(yùn)行的應(yīng)用便會(huì)處于暫停狀態(tài)或停止?fàn)顟B(tài),但其仍然會(huì)轉(zhuǎn)至后臺(tái)繼續(xù)運(yùn)行,當(dāng)應(yīng)用為后臺(tái)運(yùn)行時(shí),判斷該應(yīng)用是否達(dá)到預(yù)置的銷(xiāo)毀條件,本實(shí)施例中,預(yù)置的銷(xiāo)毀條件為預(yù)先設(shè)定的用于指示銷(xiāo)毀當(dāng)前應(yīng)用的指示條件,只有當(dāng)前應(yīng)用達(dá)到該銷(xiāo)毀條件時(shí),才執(zhí)行銷(xiāo)毀該應(yīng)用的步驟。
[0067]本發(fā)明實(shí)施例,通過(guò)在移動(dòng)終端的操作系統(tǒng)啟動(dòng)時(shí),創(chuàng)建用于管理應(yīng)用的運(yùn)行狀態(tài)的應(yīng)用定時(shí)器線程,當(dāng)應(yīng)用運(yùn)行時(shí),通過(guò)創(chuàng)建的應(yīng)用定時(shí)器線程生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn);當(dāng)切換應(yīng)用或退出當(dāng)前應(yīng)用使該應(yīng)用轉(zhuǎn)為后臺(tái)運(yùn)行時(shí),判斷應(yīng)用是否達(dá)到預(yù)置的銷(xiāo)毀條件,若是,銷(xiāo)毀該應(yīng)用。當(dāng)轉(zhuǎn)為后臺(tái)運(yùn)行的某個(gè)應(yīng)用達(dá)到預(yù)置的銷(xiāo)毀條件時(shí),將該應(yīng)用銷(xiāo)毀,從而提高了移動(dòng)終端的應(yīng)用操作速度,提升了其整體性能,并且在很大程度上提高了用戶(hù)的使用體驗(yàn)。
[0068]參照?qǐng)D2,圖2為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的方法中生成應(yīng)用定時(shí)器管理節(jié)點(diǎn)的流程示意圖。
[0069]在上述實(shí)施例中,步驟S20包括:
[0070]步驟S21,當(dāng)應(yīng)用運(yùn)行時(shí),通過(guò)應(yīng)用定時(shí)器線程創(chuàng)建該應(yīng)用的應(yīng)用定時(shí)器、應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、應(yīng)用的活動(dòng)窗口名稱(chēng),以及應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組;
[0071]當(dāng)創(chuàng)建了應(yīng)用定時(shí)器線程后,當(dāng)應(yīng)用運(yùn)行時(shí),通過(guò)所創(chuàng)建的應(yīng)用定時(shí)器線程創(chuàng)建該應(yīng)用的應(yīng)用定時(shí)器、該應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、該應(yīng)用的活動(dòng)窗口名稱(chēng),以及該應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組。其中,應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)用于標(biāo)識(shí)該應(yīng)用是否為前臺(tái)運(yùn)行的應(yīng)用,當(dāng)應(yīng)用由前臺(tái)轉(zhuǎn)至后臺(tái)運(yùn)行時(shí)會(huì)實(shí)時(shí)調(diào)整該運(yùn)行狀態(tài)標(biāo)識(shí);應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組包括應(yīng)用的活動(dòng)窗口標(biāo)識(shí)和應(yīng)用的活動(dòng)窗口當(dāng)前狀態(tài)標(biāo)識(shí)符,其中,應(yīng)用的活動(dòng)窗口標(biāo)識(shí)用于唯一標(biāo)識(shí)該應(yīng)用的活動(dòng)窗口,應(yīng)用的活動(dòng)窗口當(dāng)前狀態(tài)標(biāo)識(shí)符用于指示所述活動(dòng)窗口當(dāng)前的運(yùn)行狀態(tài),本實(shí)施例中,當(dāng)應(yīng)用當(dāng)前為前臺(tái)運(yùn)行時(shí),其活動(dòng)窗口當(dāng)前狀態(tài)標(biāo)識(shí)符為T(mén)RUE,而當(dāng)應(yīng)用轉(zhuǎn)為后臺(tái)運(yùn)行時(shí),其活動(dòng)窗口當(dāng)前狀態(tài)標(biāo)識(shí)符則調(diào)整為FALSE。
[0072]步驟S22,根據(jù)應(yīng)用定時(shí)器、應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、應(yīng)用的活動(dòng)窗口名稱(chēng),以及應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn)。
[0073]應(yīng)用定時(shí)器線程創(chuàng)建了與當(dāng)前運(yùn)行的應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器、應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、應(yīng)用的活動(dòng)窗口名稱(chēng),以及應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組之后,AMS根據(jù)所創(chuàng)建的應(yīng)用定時(shí)器、應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、應(yīng)用的活動(dòng)窗口名稱(chēng),以及應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn)。
[0074]當(dāng)應(yīng)用運(yùn)行時(shí),創(chuàng)建該應(yīng)用的應(yīng)用定時(shí)器、應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、應(yīng)用的活動(dòng)窗口名稱(chēng),以及應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組,并根據(jù)應(yīng)用定時(shí)器、應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、應(yīng)用的活動(dòng)窗口名稱(chēng),以及應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn),通過(guò)應(yīng)用定時(shí)器管理節(jié)點(diǎn)對(duì)應(yīng)用的活動(dòng)窗口進(jìn)行管理,從而為提高移動(dòng)終端的應(yīng)用操作速度,以及提升移動(dòng)終端的整體性能提供了基礎(chǔ)。
[0075]參照?qǐng)D3,圖3為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的方法中判斷應(yīng)用是否達(dá)到預(yù)置的銷(xiāo)毀條件的流程示意圖。
[0076]在本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的方法一實(shí)施例中,步驟S30包括:
[0077]步驟S301,當(dāng)應(yīng)用為后臺(tái)運(yùn)行時(shí),判斷應(yīng)用的運(yùn)行時(shí)間是否達(dá)到預(yù)置的應(yīng)用定時(shí)器閾值;
[0078]當(dāng)應(yīng)用為后臺(tái)運(yùn)行時(shí),首先判斷應(yīng)用的運(yùn)行時(shí)間是否達(dá)到預(yù)置的應(yīng)用定時(shí)器閾值。本實(shí)施例中,預(yù)置的應(yīng)用定時(shí)器閾值為用戶(hù)根據(jù)實(shí)際需要,在定時(shí)器管理應(yīng)用界面所設(shè)置的運(yùn)行應(yīng)用以及與該應(yīng)用相關(guān)的進(jìn)程、內(nèi)存和資源的時(shí)間極大值。同時(shí),為方便用戶(hù)動(dòng)態(tài)地設(shè)定應(yīng)用銷(xiāo)毀的應(yīng)最大時(shí)間,可以在移動(dòng)終端中設(shè)置一可視化的管理界面,供用戶(hù)設(shè)置應(yīng)用定時(shí)器閾值,用戶(hù)可以通過(guò)每個(gè)應(yīng)用對(duì)應(yīng)的下拉列表中選擇固定的閾值,可供選擇的值有I小時(shí)、5小時(shí)、24小時(shí)、48小時(shí)、一周,或更多其他值;而如不選擇,則默認(rèn)為空,即該方法對(duì)該應(yīng)用不會(huì)起到任何影響。
[0079]步驟S302,若應(yīng)用的運(yùn)行時(shí)間是否達(dá)到預(yù)置的應(yīng)用定時(shí)器閾值,判斷系統(tǒng)內(nèi)存的剩余空間是否達(dá)到預(yù)置的極值。
[0080]當(dāng)判斷出應(yīng)用的運(yùn)行時(shí)間達(dá)到預(yù)置的應(yīng)用定時(shí)器閾值時(shí),進(jìn)一步判斷此時(shí)移動(dòng)終端的系統(tǒng)內(nèi)存的剩余空間是否達(dá)到預(yù)置的極值,本實(shí)施例中,該預(yù)置的極值可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,在保證用戶(hù)使用移動(dòng)終端時(shí),不會(huì)因銷(xiāo)毀應(yīng)用的進(jìn)程而占用系統(tǒng)內(nèi)存,造成使用不暢的現(xiàn)象。而當(dāng)判斷出系統(tǒng)內(nèi)存的剩余空間是否達(dá)到預(yù)置的極值時(shí),才進(jìn)行銷(xiāo)毀應(yīng)用的進(jìn)程。
[0081]當(dāng)判斷出應(yīng)用的運(yùn)行時(shí)間達(dá)到預(yù)置的應(yīng)用定時(shí)器閾值時(shí),進(jìn)一步判斷此時(shí)移動(dòng)終端的系統(tǒng)內(nèi)存的剩余空間是否達(dá)到預(yù)置的極值,為了保證在銷(xiāo)毀應(yīng)用時(shí)不影響用戶(hù)的使用,本實(shí)施例將銷(xiāo)毀應(yīng)用的條件設(shè)置為應(yīng)用的運(yùn)行時(shí)間達(dá)到預(yù)置的應(yīng)用定時(shí)器閾值并且系統(tǒng)內(nèi)存的剩余空間是否達(dá)到預(yù)置的極值同時(shí)滿(mǎn)足,這樣,便可以進(jìn)一步提高移動(dòng)終端的應(yīng)用操作速度。[0082]參照?qǐng)D4,圖4為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的方法另一實(shí)施例的流程示意圖。
[0083]基于本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的方法一實(shí)施例,在執(zhí)行步驟S30之后,該方法還包括:
[0084]步驟S32,判斷顯示屏是否處于鎖屏狀態(tài)。
[0085]在本實(shí)施例中,當(dāng)判斷出應(yīng)用的運(yùn)行時(shí)間達(dá)到預(yù)置的銷(xiāo)毀條件時(shí),進(jìn)一步判斷此時(shí)移動(dòng)終端的顯示屏是否處于鎖屏狀態(tài),如是,則銷(xiāo)毀該應(yīng)用。為了保證在用戶(hù)使用移動(dòng)終端的過(guò)程中不受后臺(tái)的影響,同時(shí)為了保證在應(yīng)用運(yùn)行一段時(shí)間后統(tǒng)一清理不必要的應(yīng)用的進(jìn)程,本實(shí)施例將銷(xiāo)毀應(yīng)用的條件設(shè)置為應(yīng)用的運(yùn)行時(shí)間達(dá)到預(yù)置的銷(xiāo)毀條件與移動(dòng)終端的顯示屏處于鎖屏狀態(tài)同時(shí)滿(mǎn)足。
[0086]在判斷出應(yīng)用的運(yùn)行時(shí)間達(dá)到預(yù)置的銷(xiāo)毀條件之后,進(jìn)一步判斷此時(shí)移動(dòng)終端的顯示屏是否處于鎖屏狀態(tài),當(dāng)兩個(gè)條件同時(shí)滿(mǎn)足時(shí),才銷(xiāo)毀應(yīng)用,從而更進(jìn)一步提高了移動(dòng)終端的應(yīng)用操作速度,進(jìn)一步提升了其整體性能。
[0087]參照?qǐng)D5,圖4為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的方法又一實(shí)施例的流程示意圖。
[0088]基于本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的方法一實(shí)施例,在執(zhí)行步驟S20之后,該方法還包括:
[0089]步驟S40,將生成的應(yīng)用定時(shí)器管理節(jié)點(diǎn)加入到應(yīng)用定時(shí)器線程的線程隊(duì)列中。
[0090]在根據(jù)應(yīng)用定時(shí)器、應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、應(yīng)用的活動(dòng)窗口名稱(chēng),以及應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組生成了與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn)之后,應(yīng)用定時(shí)器線程將所生成的應(yīng)用定時(shí)器管理節(jié)點(diǎn)加入到應(yīng)用定時(shí)器線程的線程隊(duì)列中,以便于當(dāng)用戶(hù)切換應(yīng)用使該應(yīng)用處于后臺(tái)進(jìn)行運(yùn)行時(shí),會(huì)動(dòng)態(tài)并實(shí)時(shí)調(diào)整該應(yīng)用定時(shí)器管理節(jié)點(diǎn)的屬性;或當(dāng)該應(yīng)用被銷(xiāo)毀時(shí),將該應(yīng)用定時(shí)器管理節(jié)點(diǎn)刪除。
[0091]在生成了與當(dāng)前運(yùn)行的應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn)后,將生成的應(yīng)用定時(shí)器管理節(jié)點(diǎn)加入到應(yīng)用定時(shí)器線程的線程隊(duì)列中,便于動(dòng)態(tài)并實(shí)時(shí)調(diào)整該應(yīng)用定時(shí)器管理節(jié)點(diǎn)的屬性,進(jìn)一步為提高移動(dòng)終端的應(yīng)用操作速度,以及提升移動(dòng)終端的整體性能提供了前提保證。
[0092]參照?qǐng)D6,圖6為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的方法中銷(xiāo)毀應(yīng)用的流程示意圖。
[0093]在本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的方法一實(shí)施例中,步驟S31包括:
[0094]步驟S311,將應(yīng)用的狀態(tài)由暫停狀態(tài)或停止?fàn)顟B(tài)切換至銷(xiāo)毀狀態(tài),銷(xiāo)毀應(yīng)用以及與該應(yīng)用相關(guān)的進(jìn)程、內(nèi)存和資源;
[0095]步驟S312,從應(yīng)用定時(shí)器線程的線程隊(duì)列中刪除與應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn)。
[0096]當(dāng)用戶(hù)退出應(yīng)用時(shí),該應(yīng)用的狀態(tài)為暫停Paused狀態(tài),而當(dāng)用戶(hù)切換應(yīng)用至其他應(yīng)用時(shí),該應(yīng)用的狀態(tài)為停止Stop狀態(tài),此時(shí)該應(yīng)用轉(zhuǎn)為后臺(tái)繼續(xù)運(yùn)行;而當(dāng)判斷出該應(yīng)用運(yùn)行時(shí)間達(dá)到預(yù)置的應(yīng)用定時(shí)器閾值,并且進(jìn)一步判斷出移動(dòng)終端的顯示屏當(dāng)前處于鎖屏狀態(tài)時(shí),首先將該應(yīng)用的狀態(tài)由暫停狀態(tài)或停止?fàn)顟B(tài)切換至銷(xiāo)毀狀態(tài),然后通過(guò)應(yīng)用定時(shí)器線程通知AMS,AMS銷(xiāo)毀應(yīng)用以及與該應(yīng)用相關(guān)的進(jìn)程、內(nèi)存和資源。當(dāng)銷(xiāo)毀了應(yīng)用以及與該應(yīng)用相關(guān)的進(jìn)程、內(nèi)存和資源后,從應(yīng)用定時(shí)器線程的線程隊(duì)列中刪除與應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn)。
[0097]當(dāng)用戶(hù)退出應(yīng)用或切換應(yīng)用至其他應(yīng)用,該應(yīng)用轉(zhuǎn)為后臺(tái)繼續(xù)運(yùn)行時(shí),將該應(yīng)用的狀態(tài)由暫停狀態(tài)或停止?fàn)顟B(tài)切換至銷(xiāo)毀狀態(tài),并銷(xiāo)毀應(yīng)用以及與該應(yīng)用相關(guān)的進(jìn)程、內(nèi)存和資源;然后從應(yīng)用定時(shí)器線程的線程隊(duì)列中刪除與應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn),從而進(jìn)一步保證了能夠提高移動(dòng)終端的應(yīng)用操作速度,提升其整體性能,并且進(jìn)一步保證了能夠在很大程度上提高用戶(hù)的使用體驗(yàn)。
[0098]本發(fā)明還提供一種清理后臺(tái)運(yùn)行應(yīng)用的裝置。
[0099]參照?qǐng)D7,圖7為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的裝置一實(shí)施例的結(jié)構(gòu)示意圖。
[0100]本實(shí)施例所提供的清理后臺(tái)運(yùn)行應(yīng)用的裝置,包括:
[0101]線程創(chuàng)建模塊10,用于創(chuàng)建用于管理應(yīng)用的運(yùn)行狀態(tài)的應(yīng)用定時(shí)器線程;
[0102]節(jié)點(diǎn)生成模塊20,用于當(dāng)應(yīng)用運(yùn)行時(shí),通過(guò)應(yīng)用定時(shí)器線程生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn);
[0103]第一判斷模塊30,用于當(dāng)應(yīng)用為后臺(tái)運(yùn)行時(shí),判斷應(yīng)用是否達(dá)到預(yù)置的銷(xiāo)毀條件;
[0104]銷(xiāo)毀模塊40,用于當(dāng)應(yīng)用達(dá)到預(yù)置的銷(xiāo)毀條件時(shí),銷(xiāo)毀應(yīng)用。
[0105]本實(shí)施例中,通過(guò)改進(jìn)移動(dòng)終端中Android系統(tǒng)的內(nèi)核代碼,啟動(dòng)一個(gè)定時(shí)器線程,即改進(jìn)Android系統(tǒng)中的AMS (Activity Manager Service),在移動(dòng)終端的操作系統(tǒng)啟動(dòng)的過(guò)程中由AMS負(fù)責(zé)通過(guò)線程創(chuàng)建模塊10創(chuàng)建一個(gè)應(yīng)用定時(shí)器線程。通過(guò)AMS同時(shí)負(fù)責(zé)接收定時(shí)器管理應(yīng)用界面根據(jù)用戶(hù)的設(shè)置所下發(fā)的消息和數(shù)據(jù),發(fā)送銷(xiāo)毀在后臺(tái)運(yùn)行的應(yīng)用的進(jìn)程的消息。
[0106]創(chuàng)建應(yīng)用定時(shí)器線程的流程為:在移動(dòng)終端的操作系統(tǒng)啟動(dòng)時(shí),通過(guò)Android系統(tǒng)的核心進(jìn)程之一的系統(tǒng)服務(wù)模塊SystemServer調(diào)用啟動(dòng)級(jí)別為initl和init2的函數(shù),初始化Dalvik虛擬機(jī),并在init2中調(diào)用new和start方法,用于創(chuàng)建并啟動(dòng)服務(wù)線程ServerThread ;當(dāng)ServerThread運(yùn)行后啟動(dòng)AMS,然后通過(guò)new Thread方式創(chuàng)建應(yīng)用定時(shí)器線程AppTimerThread。應(yīng)用定時(shí)器線程進(jìn)行無(wú)線循環(huán),等待AMS發(fā)送的消息并根據(jù)消息進(jìn)行相應(yīng)的處理。
[0107]創(chuàng)建了應(yīng)用定時(shí)器線程后,當(dāng)某一應(yīng)用運(yùn)行時(shí),AMS通知應(yīng)用定時(shí)器線程有新的應(yīng)用運(yùn)行,而后節(jié)點(diǎn)生成模塊20通過(guò)應(yīng)用定時(shí)器線程生成一個(gè)與當(dāng)前運(yùn)行的應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn),所生成的該應(yīng)用定時(shí)器管理節(jié)點(diǎn)用于定時(shí)對(duì)相應(yīng)的應(yīng)用的活動(dòng)窗口進(jìn)行管理。本實(shí)施例中,當(dāng)用戶(hù)切換應(yīng)用使該應(yīng)用處于后臺(tái)進(jìn)行運(yùn)行時(shí),會(huì)動(dòng)態(tài)并實(shí)時(shí)調(diào)整該應(yīng)用定時(shí)器管理節(jié)點(diǎn)的屬性;或當(dāng)該應(yīng)用被銷(xiāo)毀時(shí),將該應(yīng)用定時(shí)器管理節(jié)點(diǎn)刪除。
[0108]如用戶(hù)切換應(yīng)用,當(dāng)前運(yùn)行的應(yīng)用便會(huì)處于暫停狀態(tài)或停止?fàn)顟B(tài),但其仍然會(huì)轉(zhuǎn)至后臺(tái)繼續(xù)運(yùn)行,當(dāng)應(yīng)用為后臺(tái)運(yùn)行時(shí),通過(guò)第一判斷模塊30判斷該應(yīng)用是否達(dá)到預(yù)置的銷(xiāo)毀條件,本實(shí)施例中,預(yù)置的銷(xiāo)毀條件為預(yù)先設(shè)定的用于指示銷(xiāo)毀當(dāng)前應(yīng)用的指示條件,只有當(dāng)前應(yīng)用達(dá)到該銷(xiāo)毀條件時(shí),銷(xiāo)毀模塊40才執(zhí)行銷(xiāo)毀該應(yīng)用的步驟。
[0109]本發(fā)明實(shí)施例,通過(guò)在移動(dòng)終端的操作系統(tǒng)啟動(dòng)時(shí),創(chuàng)建用于管理應(yīng)用的運(yùn)行狀態(tài)的應(yīng)用定時(shí)器線程,當(dāng)應(yīng)用運(yùn)行時(shí),通過(guò)創(chuàng)建的應(yīng)用定時(shí)器線程生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn);當(dāng)切換應(yīng)用或退出當(dāng)前應(yīng)用使該應(yīng)用轉(zhuǎn)為后臺(tái)運(yùn)行時(shí),判斷應(yīng)用是否達(dá)到預(yù)置的銷(xiāo)毀條件,若是,銷(xiāo)毀該應(yīng)用。當(dāng)轉(zhuǎn)為后臺(tái)運(yùn)行的某個(gè)應(yīng)用達(dá)到預(yù)置的銷(xiāo)毀條件時(shí),將該應(yīng)用銷(xiāo)毀,從而提高了移動(dòng)終端的應(yīng)用操作速度,提升了其整體性能,并且在很大程度上提高了用戶(hù)的使用體驗(yàn)。[0110]參照?qǐng)D8,圖8為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的裝置中節(jié)點(diǎn)生成模塊的結(jié)構(gòu)示意圖。
[0111]在上述實(shí)施例中,節(jié)點(diǎn)生成模塊20包括:
[0112]創(chuàng)建單元21,用于當(dāng)應(yīng)用運(yùn)行時(shí),通過(guò)應(yīng)用定時(shí)器線程創(chuàng)建該應(yīng)用的應(yīng)用定時(shí)器、應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、應(yīng)用的活動(dòng)窗口名稱(chēng),以及應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組;
[0113]節(jié)點(diǎn)生成單元22,用于根據(jù)應(yīng)用定時(shí)器、應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、應(yīng)用的活動(dòng)窗口名稱(chēng),以及應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn)。
[0114]當(dāng)創(chuàng)建了應(yīng)用定時(shí)器線程后,當(dāng)應(yīng)用運(yùn)行時(shí),所創(chuàng)建的應(yīng)用定時(shí)器線程通過(guò)創(chuàng)建單元21創(chuàng)建該應(yīng)用的應(yīng)用定時(shí)器、該應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、該應(yīng)用的活動(dòng)窗口名稱(chēng),以及該應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組。其中,應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)用于標(biāo)識(shí)該應(yīng)用是否為前臺(tái)運(yùn)行的應(yīng)用,當(dāng)應(yīng)用由前臺(tái)轉(zhuǎn)至后臺(tái)運(yùn)行時(shí)會(huì)實(shí)時(shí)調(diào)整該運(yùn)行狀態(tài)標(biāo)識(shí);應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組包括應(yīng)用的活動(dòng)窗口標(biāo)識(shí)和應(yīng)用的活動(dòng)窗口當(dāng)前狀態(tài)標(biāo)識(shí)符,其中,應(yīng)用的活動(dòng)窗口標(biāo)識(shí)用于唯一標(biāo)識(shí)該應(yīng)用的活動(dòng)窗口,應(yīng)用的活動(dòng)窗口當(dāng)前狀態(tài)標(biāo)識(shí)符用于指示所述活動(dòng)窗口當(dāng)前的運(yùn)行狀態(tài),本實(shí)施例中,當(dāng)應(yīng)用當(dāng)前為前臺(tái)運(yùn)行時(shí),其活動(dòng)窗口當(dāng)前狀態(tài)標(biāo)識(shí)符為T(mén)RUE,而當(dāng)應(yīng)用轉(zhuǎn)為后臺(tái)運(yùn)行時(shí),其活動(dòng)窗口當(dāng)前狀態(tài)標(biāo)識(shí)符則調(diào)整為FALSE。
[0115]應(yīng)用定時(shí)器線程創(chuàng)建了與當(dāng)前運(yùn)行的應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器、應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、應(yīng)用的活動(dòng)窗口名稱(chēng),以及應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組之后,AMS通過(guò)節(jié)點(diǎn)生成單元22根據(jù)所創(chuàng)建的應(yīng)用定時(shí)器、應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、應(yīng)用的活動(dòng)窗口名稱(chēng),以及應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn)。
[0116]當(dāng)應(yīng)用運(yùn)行時(shí),創(chuàng)建該應(yīng)用的應(yīng)用定時(shí)器、應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、應(yīng)用的活動(dòng)窗口名稱(chēng),以及應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組,并根據(jù)應(yīng)用定時(shí)器、應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、應(yīng)用的活動(dòng)窗口名稱(chēng),以及應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn),通過(guò)應(yīng)用定時(shí)器管理節(jié)點(diǎn)對(duì)應(yīng)用的活動(dòng)窗口進(jìn)行管理,從而為提高移動(dòng)終端的應(yīng)用操作速度,以及提升移動(dòng)終端的整體性能提供了基礎(chǔ)。
[0117]參照?qǐng)D9,圖9為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的裝置中第一判斷模塊的結(jié)構(gòu)示意圖。
[0118]基于本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的裝置一實(shí)施例,第一判斷模塊30包括:
[0119]第一判斷單元31,用于當(dāng)應(yīng)用為后臺(tái)運(yùn)行時(shí),判斷應(yīng)用的運(yùn)行時(shí)間是否達(dá)到預(yù)置的應(yīng)用定時(shí)器閾值;應(yīng)用定時(shí)器閾值為運(yùn)行應(yīng)用以及與該應(yīng)用相關(guān)的進(jìn)程、內(nèi)存和資源的時(shí)間極大值;
[0120]第二判斷單元32,用于若應(yīng)用的運(yùn)行時(shí)間是否達(dá)到預(yù)置的應(yīng)用定時(shí)器閾值,判斷系統(tǒng)內(nèi)存的剩余空間是否達(dá)到預(yù)置的極值。
[0121]當(dāng)應(yīng)用為后臺(tái)運(yùn)行時(shí),第一判斷單元31首先判斷應(yīng)用的運(yùn)行時(shí)間是否達(dá)到預(yù)置的應(yīng)用定時(shí)器閾值。本實(shí)施例中,預(yù)置的應(yīng)用定時(shí)器閾值為用戶(hù)根據(jù)實(shí)際需要,在定時(shí)器管理應(yīng)用界面所設(shè)置的運(yùn)行應(yīng)用以及與該應(yīng)用相關(guān)的進(jìn)程、內(nèi)存和資源的時(shí)間極大值。同時(shí),為方便用戶(hù)動(dòng)態(tài)地設(shè)定應(yīng)用銷(xiāo)毀的應(yīng)最大時(shí)間,可以在移動(dòng)終端中設(shè)置一可視化的管理界面,供用戶(hù)設(shè)置應(yīng)用定時(shí)器閾值,用戶(hù)可以通過(guò)每個(gè)應(yīng)用對(duì)應(yīng)的下拉列表中選擇固定的閾值,可供選擇的值有I小時(shí)、5小時(shí)、24小時(shí)、48小時(shí)、一周,或更多其他值;而如不選擇,則默認(rèn)為空,即該方法對(duì)該應(yīng)用不會(huì)起到任何影響。
[0122]當(dāng)判斷出應(yīng)用的運(yùn)行時(shí)間達(dá)到預(yù)置的應(yīng)用定時(shí)器閾值時(shí),第二判斷單元32進(jìn)一步判斷此時(shí)移動(dòng)終端的系統(tǒng)內(nèi)存的剩余空間是否達(dá)到預(yù)置的極值,本實(shí)施例中,該預(yù)置的極值可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,在保證用戶(hù)使用移動(dòng)終端時(shí),不會(huì)因銷(xiāo)毀應(yīng)用的進(jìn)程而占用系統(tǒng)內(nèi)存,造成使用不暢的現(xiàn)象。而當(dāng)判斷出系統(tǒng)內(nèi)存的剩余空間是否達(dá)到預(yù)置的極值時(shí),才進(jìn)行銷(xiāo)毀應(yīng)用的進(jìn)程。
[0123]當(dāng)判斷出應(yīng)用的運(yùn)行時(shí)間達(dá)到預(yù)置的應(yīng)用定時(shí)器閾值時(shí),進(jìn)一步判斷此時(shí)移動(dòng)終端的系統(tǒng)內(nèi)存的剩余空間是否達(dá)到預(yù)置的極值,為了保證在銷(xiāo)毀應(yīng)用時(shí)不影響用戶(hù)的使用,本實(shí)施例將銷(xiāo)毀應(yīng)用的條件設(shè)置為應(yīng)用的運(yùn)行時(shí)間達(dá)到預(yù)置的應(yīng)用定時(shí)器閾值并且系統(tǒng)內(nèi)存的剩余空間是否達(dá)到預(yù)置的極值同時(shí)滿(mǎn)足,這樣,便可以進(jìn)一步提高移動(dòng)終端的應(yīng)用操作速度。
[0124]參照?qǐng)D10,圖10為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的裝置另一實(shí)施例的結(jié)構(gòu)示意圖。
[0125]基于本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的裝置一實(shí)施例,該裝置還包括:
[0126]第二判斷模塊50,用于判斷顯示屏是否處于鎖屏狀態(tài)。
[0127]在本實(shí)施例中,當(dāng)判斷出應(yīng)用的運(yùn)行時(shí)間達(dá)到預(yù)置的銷(xiāo)毀條件時(shí),第二判斷模塊50進(jìn)一步判斷此時(shí)移動(dòng)終端的顯示屏是否處于鎖屏狀態(tài),如是,則銷(xiāo)毀該應(yīng)用。為了保證在用戶(hù)使用移動(dòng)終端的過(guò)程中不受后臺(tái)的影響,同時(shí)為了保證在應(yīng)用運(yùn)行一段時(shí)間后統(tǒng)一清理不必要的應(yīng)用的進(jìn)程,本實(shí)施例將銷(xiāo)毀應(yīng)用的條件設(shè)置為應(yīng)用的運(yùn)行時(shí)間達(dá)到預(yù)置的銷(xiāo)毀條件與移動(dòng)終端的顯示屏處于鎖屏狀態(tài)同時(shí)滿(mǎn)足。
[0128]在判斷出應(yīng)用的運(yùn)行時(shí)間達(dá)到預(yù)置的銷(xiāo)毀條件之后,進(jìn)一步判斷此時(shí)移動(dòng)終端的顯示屏是否處于鎖屏狀態(tài),當(dāng)兩個(gè)條件同時(shí)滿(mǎn)足時(shí),才銷(xiāo)毀應(yīng)用,從而更進(jìn)一步提高了移動(dòng)終端的應(yīng)用操作速度,進(jìn)一步提升了其整體性能。
[0129]參照?qǐng)D11,圖11為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的裝置又一實(shí)施例的結(jié)構(gòu)示意圖。
[0130]基于本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的裝置一實(shí)施例,該裝置還包括:
[0131]線程加入模塊60,用于將生成的應(yīng)用定時(shí)器管理節(jié)點(diǎn)加入到應(yīng)用定時(shí)器線程的線程隊(duì)列中。
[0132]在根據(jù)應(yīng)用定時(shí)器、應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、應(yīng)用的活動(dòng)窗口名稱(chēng),以及應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組生成了與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn)之后,應(yīng)用定時(shí)器線程通過(guò)線程加入模塊60將所生成的應(yīng)用定時(shí)器管理節(jié)點(diǎn)加入到應(yīng)用定時(shí)器線程的線程隊(duì)列中,以便于當(dāng)用戶(hù)切換應(yīng)用使該應(yīng)用處于后臺(tái)進(jìn)行運(yùn)行時(shí),會(huì)動(dòng)態(tài)并實(shí)時(shí)調(diào)整該應(yīng)用定時(shí)器管理節(jié)點(diǎn)的屬性;或當(dāng)該應(yīng)用被銷(xiāo)毀時(shí),將該應(yīng)用定時(shí)器管理節(jié)點(diǎn)刪除。
[0133]在生成了與當(dāng)前運(yùn)行的應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn)后,將生成的應(yīng)用定時(shí)器管理節(jié)點(diǎn)加入到應(yīng)用定時(shí)器線程的線程隊(duì)列中,便于動(dòng)態(tài)并實(shí)時(shí)調(diào)整該應(yīng)用定時(shí)器管理節(jié)點(diǎn)的屬性,進(jìn)一步為提高移動(dòng)終端的應(yīng)用操作速度,以及提升移動(dòng)終端的整體性能提供了前提保證。
[0134]參照?qǐng)D12,圖12為本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的裝置中銷(xiāo)毀模塊的結(jié)構(gòu)示意圖。
[0135]在本發(fā)明清理后臺(tái)運(yùn)行應(yīng)用的裝置一實(shí)施例中,銷(xiāo)毀模塊40包括:
[0136]銷(xiāo)毀單元41,用于將應(yīng)用的狀態(tài)由暫停狀態(tài)或停止?fàn)顟B(tài)切換至銷(xiāo)毀狀態(tài),銷(xiāo)毀應(yīng)用以及與該應(yīng)用相關(guān)的進(jìn)程、內(nèi)存和資源;
[0137]刪除單元42,用于從應(yīng)用定時(shí)器線程的線程隊(duì)列中刪除與應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器
管理節(jié)點(diǎn)。
[0138]當(dāng)用戶(hù)退出應(yīng)用時(shí),該應(yīng)用的狀態(tài)為暫停Paused狀態(tài),而當(dāng)用戶(hù)切換應(yīng)用至其他應(yīng)用時(shí),該應(yīng)用的狀態(tài)為停止Stop狀態(tài),此時(shí)該應(yīng)用轉(zhuǎn)為后臺(tái)繼續(xù)運(yùn)行;而當(dāng)判斷出該應(yīng)用運(yùn)行時(shí)間達(dá)到預(yù)置的應(yīng)用定時(shí)器閾值,并且進(jìn)一步判斷出移動(dòng)終端的顯示屏當(dāng)前處于鎖屏狀態(tài)時(shí),首先將該應(yīng)用的狀態(tài)由暫停狀態(tài)或停止?fàn)顟B(tài)切換至銷(xiāo)毀狀態(tài),然后通過(guò)應(yīng)用定時(shí)器線程通知AMS,AMS通過(guò)銷(xiāo)毀單元41銷(xiāo)毀應(yīng)用以及與該應(yīng)用相關(guān)的進(jìn)程、內(nèi)存和資源。當(dāng)銷(xiāo)毀了應(yīng)用以及與該應(yīng)用相關(guān)的進(jìn)程、內(nèi)存和資源后,通過(guò)刪除單元42從應(yīng)用定時(shí)器線程的線程隊(duì)列中刪除與應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn)。
[0139]當(dāng)用戶(hù)退出應(yīng)用或切換應(yīng)用至其他應(yīng)用,該應(yīng)用轉(zhuǎn)為后臺(tái)繼續(xù)運(yùn)行時(shí),將該應(yīng)用的狀態(tài)由暫停狀態(tài)或停止?fàn)顟B(tài)切換至銷(xiāo)毀狀態(tài),并銷(xiāo)毀應(yīng)用以及與該應(yīng)用相關(guān)的進(jìn)程、內(nèi)存和資源;然后從應(yīng)用定時(shí)器線程的線程隊(duì)列中刪除與應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn),從而進(jìn)一步保證了能夠提高移動(dòng)終端的應(yīng)用操作速度,提升其整體性能,并且進(jìn)一步保證了能夠在很大程度上提高用戶(hù)的使用體驗(yàn)。
[0140]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專(zhuān)利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本發(fā)明的專(zhuān)利保護(hù)范圍。
【權(quán)利要求】
1.一種清理后臺(tái)運(yùn)行應(yīng)用的方法,其特征在于,包括: 創(chuàng)建用于管理應(yīng)用的運(yùn)行狀態(tài)的應(yīng)用定時(shí)器線程; 當(dāng)應(yīng)用運(yùn)行時(shí),通過(guò)所述應(yīng)用定時(shí)器線程生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn); 當(dāng)所述應(yīng)用為后臺(tái)運(yùn)行時(shí),判斷所述應(yīng)用是否達(dá)到預(yù)置的銷(xiāo)毀條件,若是,則銷(xiāo)毀所述應(yīng)用。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述當(dāng)應(yīng)用運(yùn)行時(shí),通過(guò)所述應(yīng)用定時(shí)器線程生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn)包括: 當(dāng)應(yīng)用運(yùn)行時(shí),通過(guò)所述應(yīng)用定時(shí)器線程創(chuàng)建該應(yīng)用的應(yīng)用定時(shí)器、所述應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、所述應(yīng)用的活動(dòng)窗口名稱(chēng),以及應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組; 根據(jù)所述應(yīng)用定時(shí)器、所述應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、所述應(yīng)用的活動(dòng)窗口名稱(chēng),以及所述應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)用于標(biāo)識(shí)該應(yīng)用是否為前臺(tái)運(yùn)行的應(yīng)用;所述應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組包括應(yīng)用的活動(dòng)窗口標(biāo)識(shí)和應(yīng)用的活動(dòng)窗口當(dāng)前狀態(tài)標(biāo)識(shí)符,其中,所述應(yīng)用的活動(dòng)窗口標(biāo)識(shí)用于唯一標(biāo)識(shí)所述應(yīng)用的活動(dòng)窗口,所述應(yīng)用的活動(dòng)窗口當(dāng)前狀態(tài)標(biāo)識(shí)符用于指示所述活動(dòng)窗口當(dāng)前的運(yùn)行狀態(tài)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述當(dāng)應(yīng)用為后臺(tái)運(yùn)行時(shí),判斷所述應(yīng)用是否達(dá)到預(yù)置的銷(xiāo)毀條件包括: 當(dāng)所述應(yīng)用為后臺(tái)運(yùn)行時(shí),判斷所述應(yīng)用的運(yùn)行時(shí)間是否達(dá)到預(yù)置的應(yīng)用定時(shí)器閾值;所述應(yīng)用定時(shí)器閾值為運(yùn)行所述應(yīng)用以及與該應(yīng)用相關(guān)的進(jìn)程、內(nèi)存和資源的時(shí)間極大值; 若應(yīng)用的運(yùn)行時(shí)間是否達(dá)到預(yù)置的應(yīng)用定時(shí)器閾值,判斷系統(tǒng)內(nèi)存的剩余空間是否達(dá)到預(yù)置的極值。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,在執(zhí)行所述判斷應(yīng)用是否達(dá)到預(yù)置的銷(xiāo)毀條件之后,還包括: 判斷顯示屏是否處于鎖屏狀態(tài)。
6.根據(jù)權(quán)利要求1至5中任一項(xiàng)所述的方法,其特征在于,在執(zhí)行所述通過(guò)應(yīng)用定時(shí)器線程生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn)之后,還包括: 將生成的所述應(yīng)用定時(shí)器管理節(jié)點(diǎn)加入到所述應(yīng)用定時(shí)器線程的線程隊(duì)列中。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述銷(xiāo)毀應(yīng)用包括: 將所述應(yīng)用的狀態(tài)由暫停狀態(tài)或停止?fàn)顟B(tài)切換至銷(xiāo)毀狀態(tài),銷(xiāo)毀所述應(yīng)用以及與該應(yīng)用相關(guān)的進(jìn)程、內(nèi)存和資源; 從所述應(yīng)用定時(shí)器線程的線程隊(duì)列中刪除與所述應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn)。
8.—種清理后臺(tái)運(yùn)行應(yīng)用的裝置,其特征在于,包括: 線程創(chuàng)建模塊,用于創(chuàng)建用于管理應(yīng)用的運(yùn)行狀態(tài)的應(yīng)用定時(shí)器線程; 節(jié)點(diǎn)生成模塊,用于當(dāng)應(yīng)用運(yùn)行時(shí),通過(guò)所述應(yīng)用定時(shí)器線程生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn); 第一判斷模塊,用于當(dāng)所述應(yīng)用為后臺(tái)運(yùn)行時(shí),判斷所述應(yīng)用是否達(dá)到預(yù)置的銷(xiāo)毀條件; 銷(xiāo)毀模塊,用于當(dāng)所述應(yīng)用達(dá)到預(yù)置的銷(xiāo)毀條件時(shí),銷(xiāo)毀所述應(yīng)用。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述節(jié)點(diǎn)生成模塊包括: 創(chuàng)建單元,用于當(dāng)應(yīng)用運(yùn)行時(shí),通過(guò)所述應(yīng)用定時(shí)器線程創(chuàng)建該應(yīng)用的應(yīng)用定時(shí)器、所述應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、所述應(yīng)用的活動(dòng)窗口名稱(chēng),以及應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組; 節(jié)點(diǎn)生成單元,用于根據(jù)所述應(yīng)用定時(shí)器、所述應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)、所述應(yīng)用的活動(dòng)窗口名稱(chēng),以及所述應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組生成與該應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn)。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述應(yīng)用的運(yùn)行狀態(tài)標(biāo)識(shí)用于標(biāo)識(shí)該應(yīng)用是否為前臺(tái)運(yùn)行的應(yīng)用;所述應(yīng)用的活動(dòng)窗口的標(biāo)識(shí)組包括應(yīng)用的活動(dòng)窗口標(biāo)識(shí)和應(yīng)用的活動(dòng)窗口當(dāng)前狀態(tài)標(biāo)識(shí)符,其中,所述應(yīng)用的活動(dòng)窗口標(biāo)識(shí)用于唯一標(biāo)識(shí)所述應(yīng)用的活動(dòng)窗口,所述應(yīng)用的活動(dòng)窗口當(dāng)前狀態(tài)標(biāo)識(shí)符用于指示所述活動(dòng)窗口當(dāng)前的運(yùn)行狀態(tài)。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述判斷模塊包括: 第一判斷單元,用于當(dāng)所述應(yīng)用為后臺(tái)運(yùn)行時(shí),判斷所述應(yīng)用的運(yùn)行時(shí)間是否達(dá)到預(yù)置的應(yīng)用定時(shí)器閾值;所述應(yīng)用定時(shí)器閾值為運(yùn)行所述應(yīng)用以及與該應(yīng)用相關(guān)的進(jìn)程、內(nèi)存和資源的時(shí)間極大值; 第二判斷單元,用于若應(yīng)用的運(yùn)行時(shí)間是否達(dá)到預(yù)置的應(yīng)用定時(shí)器閾值,判斷系統(tǒng)內(nèi)存的剩余空間是否達(dá)到預(yù)置的極值。
12.根據(jù)權(quán)利要求8所述的裝置,其特征在于,還包括: 第二判斷模塊,用于判斷顯示屏是否處于鎖屏狀態(tài)。
13.根據(jù)權(quán)利要求8至12中任一項(xiàng)所述的裝置,其特征在于,還包括: 線程加入模塊,用于將生成的所述應(yīng)用定時(shí)器管理節(jié)點(diǎn)加入到所述應(yīng)用定時(shí)器線程的線程隊(duì)列中。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述銷(xiāo)毀模塊包括: 銷(xiāo)毀單元,用于將所述應(yīng)用的狀態(tài)由暫停狀態(tài)或停止?fàn)顟B(tài)切換至銷(xiāo)毀狀態(tài),銷(xiāo)毀所述應(yīng)用以及與該應(yīng)用相關(guān)的進(jìn)程、內(nèi)存和資源; 刪除單元,用于從所述應(yīng)用定時(shí)器線程的線程隊(duì)列中刪除與所述應(yīng)用對(duì)應(yīng)的應(yīng)用定時(shí)器管理節(jié)點(diǎn)。
【文檔編號(hào)】G06F3/0481GK103902266SQ201210576281
【公開(kāi)日】2014年7月2日 申請(qǐng)日期:2012年12月26日 優(yōu)先權(quán)日:2012年12月26日
【發(fā)明者】吳鳳元 申請(qǐng)人:中興通訊股份有限公司