欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

后臺應(yīng)用程序的控制方法、裝置及終端設(shè)備的制作方法

文檔序號:6625348閱讀:283來源:國知局
后臺應(yīng)用程序的控制方法、裝置及終端設(shè)備的制作方法
【專利摘要】本公開是關(guān)于一種后臺應(yīng)用程序的控制方法、裝置及終端設(shè)備,該方法包括:根據(jù)操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序建立程序列表;遍歷程序列表中的標(biāo)識;遍歷到的標(biāo)識為當(dāng)前標(biāo)識,確定當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序是否為后臺應(yīng)用程序;當(dāng)當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序時(shí),確定預(yù)設(shè)的白名單中是否保存當(dāng)前標(biāo)識、以及程序列表中對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的標(biāo)識的個(gè)數(shù)是否超過預(yù)設(shè)閾值;當(dāng)白名單中保存當(dāng)前標(biāo)識且個(gè)數(shù)超過預(yù)設(shè)閾值時(shí),從程序列表中選取對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的一個(gè)標(biāo)識,關(guān)閉選取的標(biāo)識對應(yīng)的應(yīng)用程序;當(dāng)白名單中未保存當(dāng)前標(biāo)識且個(gè)數(shù)超過預(yù)設(shè)閾值時(shí),關(guān)閉當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序。該方案能夠更好地控制后臺應(yīng)用程序。
【專利說明】后臺應(yīng)用程序的控制方法、裝置及終端設(shè)備

【技術(shù)領(lǐng)域】
[0001]本公開涉及終端設(shè)備【技術(shù)領(lǐng)域】,尤其涉及一種后臺應(yīng)用程序的控制方法、裝置及終端設(shè)備。

【背景技術(shù)】
[0002]隨著終端設(shè)備朝著智能化的方向發(fā)展,應(yīng)用程序(Applicat1n, APP)越來越多,用戶享受到了終端設(shè)備智能化帶來的便捷。用戶在使用終端設(shè)備時(shí),習(xí)慣將一些常用應(yīng)用程序一直保持后臺運(yùn)行狀態(tài),常用應(yīng)用程序包括微博、微信、QQ等等,終端設(shè)備上保持后臺運(yùn)行狀態(tài)的應(yīng)用程序可以稱為后臺應(yīng)用程序,當(dāng)后臺應(yīng)程序數(shù)量較少時(shí),占用終端設(shè)備的內(nèi)存資源也較少;當(dāng)后臺應(yīng)用程序數(shù)量較多時(shí),占用終端設(shè)備的內(nèi)存資源也較多,會影響終端設(shè)備的處理速度,因此,如何控制終端設(shè)備的后臺應(yīng)用程序變得非常重要。
[0003]相關(guān)技術(shù)中控制后臺應(yīng)用程序的方法是:設(shè)置最大閾值,終端設(shè)備監(jiān)控后臺應(yīng)用程序的數(shù)量是否超過最大閾值,若后臺應(yīng)用程序的數(shù)量小于或等于最大閾值,允許后臺應(yīng)用程序保持后臺運(yùn)行狀態(tài);若后臺應(yīng)用程序的數(shù)量大于最大閾值,則會結(jié)束占用內(nèi)存最大的后臺應(yīng)用程序。例如,最大閾值為25,若后臺應(yīng)用程序的數(shù)量為24,則允許后臺應(yīng)用程序保持后臺運(yùn)行狀態(tài);若后臺應(yīng)用程序的數(shù)量為26,則會結(jié)束占用內(nèi)存最大的后臺應(yīng)用程序,以釋放內(nèi)存。
[0004]上述方法中,僅僅是根據(jù)后臺應(yīng)用程序的數(shù)量是否超過最大閾值來確定是否要結(jié)束某個(gè)后臺應(yīng)用程序,在后臺應(yīng)用程序大于最大閾值時(shí),會結(jié)束占用內(nèi)存最大的后臺應(yīng)用程序,而占用內(nèi)存最大的后臺應(yīng)用程序可能是用戶希望一直保持后臺運(yùn)行狀態(tài)的,結(jié)束這些后臺應(yīng)用程序會影響用戶體驗(yàn)。因此,上述方法并不能很好地控制終端設(shè)備的后臺應(yīng)用程序,影響用戶體驗(yàn)。


【發(fā)明內(nèi)容】

[0005]為克服相關(guān)技術(shù)中存在的問題,本公開提供一種后臺應(yīng)用程序的控制方法、裝置及終端設(shè)備。
[0006]根據(jù)本公開實(shí)施例的第一方面,提供一種后臺應(yīng)用程序的控制方法,包括:
[0007]根據(jù)操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序建立程序列表,所述程序列表中至少保存有所述操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序的標(biāo)識;
[0008]遍歷所述程序列表中的標(biāo)識;
[0009]遍歷到的標(biāo)識為當(dāng)前標(biāo)識,確定所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序是否為后臺應(yīng)用程序;
[0010]當(dāng)所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序時(shí),確定預(yù)設(shè)的白名單中是否保存所述當(dāng)前標(biāo)識、以及所述程序列表中對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的標(biāo)識的個(gè)數(shù)是否超過預(yù)設(shè)閾值,所述白名單中保存的是用戶指定的后臺應(yīng)用程序的標(biāo)識;
[0011]當(dāng)所述白名單中保存所述當(dāng)前標(biāo)識且所述個(gè)數(shù)超過所述預(yù)設(shè)閾值時(shí),從所述程序列表中選取對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的一個(gè)標(biāo)識,關(guān)閉選取的標(biāo)識對應(yīng)的應(yīng)用程序;
[0012]當(dāng)所述白名單中未保存所述當(dāng)前標(biāo)識且所述個(gè)數(shù)超過所述預(yù)設(shè)閾值時(shí),關(guān)閉所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序。
[0013]結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述根據(jù)操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序建立程序列表的步驟包括:
[0014]計(jì)算操作系統(tǒng)中正在運(yùn)行的每個(gè)應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級,所述運(yùn)行狀態(tài)優(yōu)先級由高到低排序?yàn)榍芭_、可見、可感知、后臺;
[0015]按照應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級由高到低的順序排列應(yīng)用程序的標(biāo)識,得到程序列表。
[0016]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述確定所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序是否為后臺應(yīng)用程序的步驟包括:
[0017]獲取所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級;
[0018]當(dāng)所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級為后臺時(shí),確定所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序。
[0019]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式或者第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述從所述程序列表中選取對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的一個(gè)標(biāo)識的步驟包括:
[0020]在所述程序列表中查找位于所述當(dāng)前標(biāo)識之前且所述白名單中未保存的標(biāo)識;
[0021]當(dāng)查找到至少一個(gè)位于所述當(dāng)前標(biāo)識之前且所述白名單中未保存的標(biāo)識時(shí),選取查找到的任一標(biāo)識或者選取查找到的距離所述當(dāng)前標(biāo)識最近的標(biāo)識;
[0022]當(dāng)未查找到位于所述當(dāng)前標(biāo)識之前且所述白名單中未保存的標(biāo)識時(shí),選取所述當(dāng)前標(biāo)識。
[0023]結(jié)合第一方面,在第一方面的第四種可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0024]當(dāng)所述白名單中保存所述當(dāng)前標(biāo)識且所述個(gè)數(shù)未超過所述預(yù)設(shè)閾值時(shí),獲取所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長;
[0025]確定所述不活躍時(shí)長是否超過第一預(yù)設(shè)時(shí)長;
[0026]當(dāng)所述不活躍時(shí)長超過所述第一預(yù)設(shè)時(shí)長時(shí),關(guān)閉所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序。
[0027]結(jié)合第一方面的第四種可能的實(shí)現(xiàn)方式中,在第一方面的第五種可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0028]當(dāng)所述不活躍時(shí)長未超過所述第一預(yù)設(shè)時(shí)長時(shí),檢測所述不活躍時(shí)長是否超過第二預(yù)設(shè)時(shí)長;
[0029]當(dāng)所述不活躍時(shí)長超過所述第二預(yù)設(shè)時(shí)長時(shí),釋放所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序中的用戶界面所占用的內(nèi)存,所述第二預(yù)設(shè)時(shí)長小于所述第一預(yù)設(shè)時(shí)長。
[0030]結(jié)合第一方面,在第一方面的第六種可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0031]當(dāng)所述白名單中未保存所述當(dāng)前標(biāo)識且所述個(gè)數(shù)未超過所述預(yù)設(shè)閾值時(shí),獲取所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長;
[0032]確定所述不活躍時(shí)長是否超過第三預(yù)設(shè)時(shí)長;
[0033]當(dāng)所述不活躍時(shí)長超過所述第三預(yù)設(shè)時(shí)長時(shí),釋放所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序中的用戶界面所占用的內(nèi)存。
[0034]結(jié)合第一方面的第四種可能的實(shí)現(xiàn)方式、第一方面的第五種可能的實(shí)現(xiàn)方式或者第一方面的第六種可能的實(shí)現(xiàn)方式,在第一方面的第七種可能的實(shí)現(xiàn)方式中,所述獲取所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長的步驟包括:
[0035]統(tǒng)計(jì)所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的進(jìn)程未與所述操作系統(tǒng)中其他進(jìn)程交互的時(shí)長;
[0036]將統(tǒng)計(jì)的時(shí)長確定為所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長。
[0037]根據(jù)本公開實(shí)施例的第二方面,提供一種后臺應(yīng)用程序的控制裝置,包括:
[0038]建立單元,用于根據(jù)操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序建立程序列表,所述程序列表中至少保存有所述操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序的標(biāo)識;
[0039]遍歷單元,用于遍歷所述程序列表中的標(biāo)識;
[0040]第一確定單元,用于遍歷到的標(biāo)識為當(dāng)前標(biāo)識,確定所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序是否為后臺應(yīng)用程序;
[0041]第二確定單元,用于當(dāng)所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序時(shí),確定預(yù)設(shè)的白名單中是否保存所述當(dāng)前標(biāo)識、以及所述程序列表中對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的標(biāo)識的個(gè)數(shù)是否超過預(yù)設(shè)閾值,所述白名單中保存的是用戶指定的后臺應(yīng)用程序的標(biāo)識;
[0042]第一關(guān)閉單元,用于當(dāng)所述白名單中保存所述當(dāng)前標(biāo)識且所述個(gè)數(shù)超過所述預(yù)設(shè)閾值時(shí),從所述程序列表中選取對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的一個(gè)標(biāo)識,關(guān)閉選取的標(biāo)識對應(yīng)的應(yīng)用程序;當(dāng)所述白名單中未保存所述當(dāng)前標(biāo)識且所述個(gè)數(shù)超過所述預(yù)設(shè)閾值時(shí),關(guān)閉所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序。
[0043]結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述建立單元包括:
[0044]計(jì)算子單元,用于計(jì)算操作系統(tǒng)中正在運(yùn)行的每個(gè)應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級,所述運(yùn)行狀態(tài)優(yōu)先級由高到低排序?yàn)榍芭_、可見、可感知、后臺;
[0045]排序子單元,用于按照應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級由高到低的順序排列應(yīng)用程序的標(biāo)識,得到程序列表。
[0046]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述第一確定單元包括:
[0047]獲取子單元,用于獲取所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級;
[0048]第一確定子單元,用于當(dāng)所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級為后臺時(shí),確定所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序。
[0049]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式或者第二方面的第二種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述第一關(guān)閉單元包括:
[0050]查找子單元,用于在所述程序列表中查找位于所述當(dāng)前標(biāo)識之前且所述白名單中未保存的標(biāo)識;
[0051]選取子單元,用于當(dāng)查找到至少一個(gè)位于所述當(dāng)前標(biāo)識之前且所述白名單中未保存的標(biāo)識時(shí),選取查找到的任一標(biāo)識或者選取查找到的距離所述當(dāng)前標(biāo)識最近的標(biāo)識;當(dāng)未查找到位于所述當(dāng)前標(biāo)識之前且所述白名單中未保存的標(biāo)識時(shí),選取所述當(dāng)前標(biāo)識。
[0052]結(jié)合第二方面,在第二方面的第四種可能的實(shí)現(xiàn)方式中,所述裝置還包括:
[0053]第一獲取單元,用于當(dāng)所述白名單中保存所述當(dāng)前標(biāo)識且所述個(gè)數(shù)未超過所述預(yù)設(shè)閾值時(shí),獲取所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長;
[0054]第三確定單元,用于確定所述不活躍時(shí)長是否超過第一預(yù)設(shè)時(shí)長;
[0055]第二關(guān)閉單元,用于當(dāng)所述不活躍時(shí)長超過所述第一預(yù)設(shè)時(shí)長時(shí),關(guān)閉所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序。
[0056]結(jié)合第二方面的第四種可能的實(shí)現(xiàn)方式中,在第二方面的第五種可能的實(shí)現(xiàn)方式中,所述裝置還包括:
[0057]檢測單元,用于當(dāng)所述不活躍時(shí)長未超過所述第一預(yù)設(shè)時(shí)長時(shí),檢測所述不活躍時(shí)長是否超過第二預(yù)設(shè)時(shí)長;
[0058]第一釋放單元,用于當(dāng)所述不活躍時(shí)長超過所述第二預(yù)設(shè)時(shí)長時(shí),釋放所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序中的用戶界面所占用的內(nèi)存,所述第二預(yù)設(shè)時(shí)長小于所述第一預(yù)設(shè)時(shí)長。
[0059]結(jié)合第二方面,在第二方面的第六種可能的實(shí)現(xiàn)方式中,所述裝置還包括:
[0060]第二獲取單元,用于當(dāng)所述白名單中未保存所述當(dāng)前標(biāo)識且所述個(gè)數(shù)未超過所述預(yù)設(shè)閾值時(shí),獲取所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長;
[0061]第四確定單元,用于確定所述不活躍時(shí)長是否超過第三預(yù)設(shè)時(shí)長;
[0062]第二釋放單元,用于當(dāng)所述不活躍時(shí)長超過所述第三預(yù)設(shè)時(shí)長時(shí),釋放所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序中的用戶界面所占用的內(nèi)存。
[0063]結(jié)合第二方面的第四種可能的實(shí)現(xiàn)方式、第二方面的第五種可能的實(shí)現(xiàn)方式或者第二方面的第六種可能的實(shí)現(xiàn)方式,在第二方面的第七種可能的實(shí)現(xiàn)方式中,所述第一獲取單元和所述第二獲取單元包括:
[0064]統(tǒng)計(jì)子單元,用于統(tǒng)計(jì)所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的進(jìn)程未與所述操作系統(tǒng)中其他進(jìn)程交互的時(shí)長;
[0065]第二確定子單元,用于將統(tǒng)計(jì)的時(shí)長確定為所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長。
[0066]根據(jù)本公開實(shí)施例的第三方面,提供一種終端設(shè)備,包括:
[0067]處理器;
[0068]用于存儲處理器可執(zhí)行指令的存儲器:
[0069]其中,所述處理器被配置為:
[0070]根據(jù)操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序建立程序列表,所述程序列表中至少保存有所述操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序的標(biāo)識;
[0071 ] 遍歷所述程序列表中的標(biāo)識;
[0072]遍歷到的標(biāo)識為當(dāng)前標(biāo)識,確定所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序是否為后臺應(yīng)用程序;
[0073]當(dāng)所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序時(shí),確定預(yù)設(shè)的白名單中是否保存所述當(dāng)前標(biāo)識、以及所述程序列表中對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的標(biāo)識的個(gè)數(shù)是否超過預(yù)設(shè)閾值,所述白名單中保存的是用戶指定的后臺應(yīng)用程序的標(biāo)識;
[0074]當(dāng)所述白名單中保存所述當(dāng)前標(biāo)識且所述個(gè)數(shù)超過所述預(yù)設(shè)閾值時(shí),從所述程序列表中選取對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的一個(gè)標(biāo)識,關(guān)閉選取的標(biāo)識對應(yīng)的應(yīng)用程序;
[0075]當(dāng)所述白名單中未保存所述當(dāng)前標(biāo)識且所述個(gè)數(shù)超過所述預(yù)設(shè)閾值時(shí),關(guān)閉所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序。
[0076]本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:終端設(shè)備在確定要關(guān)閉的后臺應(yīng)用程序時(shí),不僅考慮后臺應(yīng)用程序的數(shù)量是否超過預(yù)設(shè)閾值,還需要考慮該后臺應(yīng)用程序的標(biāo)識是否保存在預(yù)設(shè)的白名單中,白名單中保存的是用戶指定的后臺應(yīng)用程序的標(biāo)識,也就是說這些白名單中的標(biāo)識對應(yīng)的后臺應(yīng)用程序是用戶不希望關(guān)閉的,對于遍歷到的當(dāng)前標(biāo)識,當(dāng)白名單中保存當(dāng)前標(biāo)識且后臺應(yīng)用程序的個(gè)數(shù)超過預(yù)設(shè)閾值時(shí),選取一個(gè)后臺應(yīng)用程序并關(guān)閉;當(dāng)白名單中未保存當(dāng)前標(biāo)識且后臺應(yīng)用程序的個(gè)數(shù)超過預(yù)設(shè)閾值時(shí),關(guān)閉當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序,由于不會輕易關(guān)閉用戶指定的后臺應(yīng)用程序,相對于相關(guān)技術(shù)中結(jié)束占用內(nèi)存最大且可能是用戶指定的后臺應(yīng)用程序的方法,能夠更好地控制后臺應(yīng)用程序,提升用戶體驗(yàn)。
[0077]應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開。

【專利附圖】

【附圖說明】
[0078]此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實(shí)施例,并與說明書一起用于解釋本發(fā)明的原理。
[0079]圖1是根據(jù)一示例性實(shí)施例示出的一種后臺應(yīng)用程序的控制方法的流程圖。
[0080]圖2是根據(jù)一示例性實(shí)施例示出的另一種后臺應(yīng)用程序的控制方法的流程圖。
[0081]圖3是根據(jù)一示例性實(shí)施例示出的一種后臺應(yīng)用程序的控制裝置的框圖。
[0082]圖4是根據(jù)一示例性實(shí)施例示出的一種終端設(shè)備的框圖。

【具體實(shí)施方式】
[0083]這里將詳細(xì)地對示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本發(fā)明相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
[0084]圖1是根據(jù)一示例性實(shí)施例示出的一種后臺應(yīng)用程序的控制方法的流程圖,如圖1所示,該方法用于終端設(shè)備中,包括以下步驟。
[0085]在步驟Sll中,根據(jù)操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序建立程序列表。
[0086]終端設(shè)備上通常會安裝操作系統(tǒng),常用的有安卓系統(tǒng)、Windows系統(tǒng)、1S系統(tǒng)等等;終端設(shè)備上通常還會安裝很多應(yīng)用程序來滿足用戶的各種需求,用戶也會安裝自己需要的應(yīng)用程序,這些應(yīng)用程序需要在終端設(shè)備的操作系統(tǒng)中才能運(yùn)行,因此在控制后臺應(yīng)用程序時(shí),可以首先根據(jù)操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序建立程序列表,將操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序的標(biāo)識保存在程序列表中,應(yīng)用程序的標(biāo)識可以但不限于是應(yīng)用程序的名稱、圖標(biāo)等等彳目息。
[0087]程序列表中可以保存操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序的標(biāo)識、上一次被激活的時(shí)間、運(yùn)行狀態(tài)優(yōu)先級等信息,至少保存有操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序的標(biāo)識。
[0088]在步驟S12中,遍歷程序列表中的標(biāo)識。
[0089]在步驟S13中,遍歷到的標(biāo)識為當(dāng)前標(biāo)識,確定當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序是否為后臺應(yīng)用程序。
[0090]可以遍歷程序列表中的標(biāo)識,遍歷到的標(biāo)識為當(dāng)前標(biāo)識,由于本發(fā)明是對后臺應(yīng)用程序進(jìn)行控制,因此,可以首先確定當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序是否是后臺應(yīng)用程序。
[0091 ] 當(dāng)當(dāng)如標(biāo)識對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序時(shí),在步驟S14中,確定預(yù)設(shè)的白名單中是否保存當(dāng)前標(biāo)識、以及程序列表中對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的標(biāo)識的個(gè)數(shù)是否超過預(yù)設(shè)閾值。
[0092]當(dāng)當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序不為后臺應(yīng)用程序時(shí),執(zhí)行步驟S12。
[0093]白名單中保存的是用戶指定的后臺應(yīng)用程序的標(biāo)識,即用戶不希望關(guān)閉的后臺應(yīng)用程序的標(biāo)識,例如,用戶指定的后臺應(yīng)用程序?yàn)镼Q、微信、飛信、百度地圖等等,白名單中可以保存QQ、微信、飛信、百度地圖等等應(yīng)用程序的標(biāo)識。
[0094]預(yù)設(shè)閾值可以根據(jù)終端設(shè)備的硬件配置和實(shí)際需要進(jìn)行設(shè)定,例如可以設(shè)置為10個(gè)、20個(gè)、25個(gè)等等。
[0095]當(dāng)白名單中保存當(dāng)前標(biāo)識且所述個(gè)數(shù)超過預(yù)設(shè)閾值時(shí),在步驟S15中,從程序列表中選取對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的一個(gè)標(biāo)識,關(guān)閉選取的標(biāo)識對應(yīng)的應(yīng)用程序。
[0096]若白名單中保存當(dāng)前標(biāo)識且程序列表中對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的標(biāo)識的個(gè)數(shù)超過預(yù)設(shè)閾值,為了保證操作系統(tǒng)的正常運(yùn)行和用戶體驗(yàn),可以選取一個(gè)后臺應(yīng)用程序,并關(guān)閉選取的后臺應(yīng)用程序。
[0097]當(dāng)白名單中未保存當(dāng)前標(biāo)識且所述個(gè)數(shù)超過預(yù)設(shè)閾值時(shí),在步驟S16中,關(guān)閉當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序。
[0098]若白名單中未保存當(dāng)前標(biāo)識且程序列表中對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的標(biāo)識的個(gè)數(shù)超過預(yù)設(shè)閾值,可以直接關(guān)閉當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序,由于白名單中未保存當(dāng)前標(biāo)識,也就是說當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序不是用戶指定的后臺應(yīng)用程序,因此可以直接關(guān)閉,從而節(jié)省內(nèi)存資源,提升用戶體驗(yàn)。
[0099]當(dāng)白名單中保存當(dāng)前標(biāo)識且所述個(gè)數(shù)未超過預(yù)設(shè)閾值時(shí),以及當(dāng)白名單中未保存當(dāng)前標(biāo)識且所述個(gè)數(shù)未超過預(yù)設(shè)閾值時(shí),執(zhí)行步驟S12。
[0100]該方案中,終端設(shè)備在確定要關(guān)閉的后臺應(yīng)用程序時(shí),不僅考慮后臺應(yīng)用程序的數(shù)量是否超過預(yù)設(shè)閾值,還需要考慮該后臺應(yīng)用程序的標(biāo)識是否保存在預(yù)設(shè)的白名單中,白名單中保存的是用戶指定的后臺應(yīng)用程序的標(biāo)識,也就是說這些白名單中的標(biāo)識對應(yīng)的后臺應(yīng)用程序是用戶不希望關(guān)閉的,對于遍歷到的當(dāng)前標(biāo)識,當(dāng)白名單中保存當(dāng)前標(biāo)識且后臺應(yīng)用程序的個(gè)數(shù)超過預(yù)設(shè)閾值時(shí),選取一個(gè)后臺應(yīng)用程序并關(guān)閉;當(dāng)白名單中未保存當(dāng)前標(biāo)識且后臺應(yīng)用程序的個(gè)數(shù)超過預(yù)設(shè)閾值時(shí),關(guān)閉當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序,由于不會輕易關(guān)閉用戶指定的后臺應(yīng)用程序,相對于相關(guān)技術(shù)中結(jié)束占用內(nèi)存最大且可能是用戶指定的后臺應(yīng)用程序的方法,能夠更好地控制后臺應(yīng)用程序,提升用戶體驗(yàn)。
[0101]可選的,在Sll中根據(jù)操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序建立程序列表的步驟包括:
[0102]計(jì)算操作系統(tǒng)中正在運(yùn)行的每個(gè)應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級;
[0103]按照應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級由高到低的順序排列應(yīng)用程序的標(biāo)識,得到程序列表。
[0104]通常應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級由高到低排序?yàn)榍芭_、可見、可感知、后臺,因此終端設(shè)備可以計(jì)算操作系統(tǒng)中正在運(yùn)行的每個(gè)應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級,然后按照應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級由高到低的順序排列應(yīng)用程序的標(biāo)識,從而得到程序列表。
[0105]這里僅僅是列舉了一種程序列表的建立方法,還有其它多種方法建立程序列表,例如還可以按照應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級由低到高的順序排列應(yīng)用程序的標(biāo)識,從而得到程序列表,其它建立程序列表的方法這里不再一一說明。
[0106]由于操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序在短時(shí)間內(nèi)變化比較小,因此,為了節(jié)省資源,終端設(shè)備可以設(shè)定周期計(jì)算操作系統(tǒng)中正在運(yùn)行的每個(gè)應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級,設(shè)定周期可以根據(jù)實(shí)際需要進(jìn)行設(shè)定,例如,設(shè)置為30秒、45秒、60秒等等。
[0107]可選的,在S13中確定當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序是否為后臺應(yīng)用程序的步驟包括:
[0108]獲取當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級;
[0109]當(dāng)當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級為后臺時(shí),確定當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序。
[0110]由于終端設(shè)備可以計(jì)算操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級,因此可以根據(jù)當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級來確定后臺應(yīng)用程序,即將運(yùn)行狀態(tài)優(yōu)先級為后臺的應(yīng)用程序確定為后臺應(yīng)用程序。
[0111]可選的,在S15中從程序列表中選取對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的一個(gè)標(biāo)識的步驟包括:
[0112]在程序列表中查找位于當(dāng)前標(biāo)識之前且白名單中未保存的標(biāo)識;
[0113]當(dāng)查找到至少一個(gè)位于當(dāng)前標(biāo)識之前且白名單中未保存的標(biāo)識時(shí),選取查找到的任一標(biāo)識或者選取查找到的距離當(dāng)前標(biāo)識最近的標(biāo)識;
[0114]當(dāng)未查找到位于當(dāng)前標(biāo)識之前且白名單中未保存的標(biāo)識時(shí),選取當(dāng)前標(biāo)識。
[0115]在程序列表中選取對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的一個(gè)標(biāo)識時(shí),可以首先在程序列表中查找位于當(dāng)前標(biāo)識之前且白名單中未保存的標(biāo)識,也就是首先查找一個(gè)用戶未指定的后臺應(yīng)用程序,若查找到至少一個(gè)標(biāo)識,就可以選取查找到的任一標(biāo)識或者選取查找到的距離當(dāng)前標(biāo)識最近的標(biāo)識;若未查找,即當(dāng)前標(biāo)識之前的標(biāo)識對應(yīng)的后臺應(yīng)用程序都是用戶指定的后臺應(yīng)用程序,則選取當(dāng)前標(biāo)識。
[0116]可選的,所述方法還包括:
[0117]當(dāng)白名單中保存當(dāng)前標(biāo)識且所述個(gè)數(shù)未超過預(yù)設(shè)閾值時(shí),獲取當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長;
[0118]確定不活躍時(shí)長是否超過第一預(yù)設(shè)時(shí)長;
[0119]當(dāng)不活躍時(shí)長超過第一預(yù)設(shè)時(shí)長時(shí),關(guān)閉當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序。
[0120]為了避免內(nèi)存資源的浪費(fèi),對于白名單中保存當(dāng)前標(biāo)識且所述個(gè)數(shù)未超過預(yù)設(shè)閾值的情況,還可以獲取當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長,如果該不活躍時(shí)長超過第一預(yù)設(shè)時(shí)長,就可以直接關(guān)閉當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序,也就是說,即使白名單中保存當(dāng)前標(biāo)識且所述個(gè)數(shù)未超過預(yù)設(shè)閾值,在當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序長時(shí)間不活躍的情況下,也可以關(guān)閉。第一預(yù)設(shè)時(shí)長可以根據(jù)實(shí)際需要進(jìn)行設(shè)定,例如可以設(shè)定為3分鐘、5分鐘、10分鐘等等。
[0121]例如,對于QQ,用戶在使用完之后轉(zhuǎn)為后臺運(yùn)行狀態(tài),若不活躍時(shí)長超過10分鐘,雖然白名單中保存了 QQ的標(biāo)識,但是仍可以關(guān)閉QQ,以節(jié)省內(nèi)存資源。
[0122]可選的,所述方法還包括:
[0123]當(dāng)不活躍時(shí)長未超過第一預(yù)設(shè)時(shí)長時(shí),檢測不活躍時(shí)長是否超過第二預(yù)設(shè)時(shí)長;
[0124]當(dāng)不活躍時(shí)長超過第二預(yù)設(shè)時(shí)長時(shí),釋放當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序中的用戶界面所占用的內(nèi)存,第二預(yù)設(shè)時(shí)長小于第一預(yù)設(shè)時(shí)長。
[0125]繼續(xù)沿用上例,當(dāng)不活躍時(shí)長未超過第一預(yù)設(shè)時(shí)長時(shí),還可以繼續(xù)檢測不活躍時(shí)長是否超過第二預(yù)設(shè)時(shí)長,第二預(yù)設(shè)時(shí)長要小于第一預(yù)設(shè)時(shí)長,若超過,釋放當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序中的用戶界面所占用的內(nèi)存;若未超過,可以遍歷程序列表中的下一個(gè)標(biāo)識。第二預(yù)設(shè)時(shí)長可以根據(jù)實(shí)際需要進(jìn)行設(shè)定,例如可以設(shè)定為3分鐘、5分鐘、10分鐘等等。
[0126]例如,例如,對于QQ,用戶在使用完之后轉(zhuǎn)為后臺運(yùn)行狀態(tài),若不活躍時(shí)長超過5分鐘,雖然白名單中保存了 QQ的標(biāo)識,但是仍可以釋放QQ的用戶界面占用的內(nèi)存,以節(jié)省內(nèi)存資源。
[0127]應(yīng)用程序一般包括兩部分:邏輯代碼和用戶界面(User Interface, UI), UI通常包括圖片、動畫等元素,正常情況下這兩部分都會存儲在內(nèi)存中。在安卓系統(tǒng),Π主要是應(yīng)用組件(Activities), Activities是用于存放應(yīng)用程序的UI的容器。由于邏輯代碼占用內(nèi)存較小,因此在本發(fā)明中不銷毀應(yīng)用程序的邏輯代碼,而是釋放不活躍時(shí)長超過第二預(yù)設(shè)時(shí)長的應(yīng)用程序的Π占用的內(nèi)存,從而可以節(jié)省大量內(nèi)存,當(dāng)該應(yīng)用程序的運(yùn)行狀態(tài)變?yōu)榍芭_時(shí),由于保存了應(yīng)用程序的邏輯代碼,可以自動重建Π,不影響用戶使用。
[0128]可選的,所述方法還包括:
[0129]當(dāng)白名單中未保存當(dāng)前標(biāo)識且所述個(gè)數(shù)未超過預(yù)設(shè)閾值時(shí),獲取當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長;
[0130]確定不活躍時(shí)長是否超過第三預(yù)設(shè)時(shí)長;
[0131]當(dāng)不活躍時(shí)長超過第三預(yù)設(shè)時(shí)長時(shí),釋放當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序中的用戶界面所占用的內(nèi)存。
[0132]相應(yīng)地,為了節(jié)省內(nèi)存資源,對于白名單中未保存當(dāng)前標(biāo)識且所述個(gè)數(shù)未超過預(yù)設(shè)閾值的情況,還可以獲取當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長,如果該不活躍時(shí)長超過第三預(yù)設(shè)時(shí)長,就可以釋放當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序中的用戶界面所占用的內(nèi)存。
[0133]第三預(yù)設(shè)時(shí)長可以根據(jù)實(shí)際需要進(jìn)行設(shè)定,例如可以設(shè)定為3分鐘、5分鐘、10分鐘等等。
[0134]例如,對于計(jì)算器,用戶在使用完之后轉(zhuǎn)為后臺運(yùn)行狀態(tài),若不活躍時(shí)長超過5分鐘,由于白名單中未保存計(jì)算器的標(biāo)識,可以釋放計(jì)算器的用戶界面所占用的內(nèi)存,以節(jié)省內(nèi)存資源。
[0135]可選的,上述獲取當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長的步驟包括:
[0136]統(tǒng)計(jì)當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的進(jìn)程未與操作系統(tǒng)中其他進(jìn)程交互的時(shí)長;
[0137]將統(tǒng)計(jì)的時(shí)長確定為當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長。
[0138]應(yīng)用程序的不活躍狀態(tài)是指應(yīng)用程序的進(jìn)程未與操作系統(tǒng)中其他進(jìn)程交互的狀態(tài),交互可以包括發(fā)送數(shù)據(jù)請求、響應(yīng)其他進(jìn)程發(fā)送的數(shù)據(jù)請求、通信請求等??梢酝ㄟ^統(tǒng)計(jì)當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的進(jìn)程未與操作系統(tǒng)中其他進(jìn)程交互的時(shí)長,得到當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長。
[0139]圖2是根據(jù)一示例性實(shí)施例示出的另一種后臺應(yīng)用程序的控制方法的流程圖,如圖2所示,該方法用于終端設(shè)備中,包括以下步驟。
[0140]在步驟S21中,計(jì)算操作系統(tǒng)中正在運(yùn)行的每個(gè)應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級。
[0141]通常應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級由高到低排序?yàn)榍芭_、可見、可感知、后臺。不同的操作系統(tǒng)計(jì)算應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級的方法可能不同,以安卓系統(tǒng)為例,可以通過組件管理服務(wù)(Activity Manager Service)計(jì)算應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級。
[0142]在步驟S22中,按照應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級由高到低的順序排列應(yīng)用程序的標(biāo)識,得到程序列表。
[0143]這里僅僅是列舉了一種程序列表的建立方法,還有其它多種方法建立程序列表,例如還可以按照應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級由低到高的順序排列應(yīng)用程序的標(biāo)識,從而得到程序列表,其它建立程序列表的方法這里不再一一說明。
[0144]應(yīng)用程序的標(biāo)識可以但不限于是應(yīng)用程序的名稱、圖標(biāo)等等信息。
[0145]在步驟S23中,遍歷程序列表中的標(biāo)識。
[0146]每次遍歷到標(biāo)識時(shí)進(jìn)行后臺應(yīng)用程序的控制過程是相同的,下面以遍歷到的一個(gè)標(biāo)識為例進(jìn)行說明。
[0147]在步驟S24中,遍歷到的標(biāo)識為當(dāng)前標(biāo)識,獲取當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級。
[0148]當(dāng)當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級為后臺時(shí),在步驟S25中,當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序,執(zhí)行S26。
[0149]當(dāng)當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級不為后臺時(shí),執(zhí)行S40。
[0150]在步驟S26中,確定預(yù)設(shè)的白名單中是否保存當(dāng)前標(biāo)識。
[0151]白名單中保存的是用戶指定的后臺應(yīng)用程序的標(biāo)識,即用戶不希望關(guān)閉的后臺應(yīng)用程序的標(biāo)識,例如,用戶指定的后臺應(yīng)用程序?yàn)镼Q、微信、飛信、百度地圖等等,白名單中可以保存QQ、微信、飛信、百度地圖等等應(yīng)用程序的標(biāo)識。
[0152]當(dāng)白名單中保存當(dāng)前標(biāo)識時(shí),在步驟S27中,確定程序列表中對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的標(biāo)識的個(gè)數(shù)是否超過預(yù)設(shè)閾值。
[0153]預(yù)設(shè)閾值可以根據(jù)終端設(shè)備的硬件配置和實(shí)際需要進(jìn)行設(shè)定,例如可以設(shè)置為10個(gè)、20個(gè)、25個(gè)等等。
[0154]當(dāng)所述個(gè)數(shù)超過預(yù)設(shè)閾值時(shí),在步驟S28中,在程序列表中查找位于當(dāng)前標(biāo)識之前且白名單中未保存的標(biāo)識。
[0155]當(dāng)查找到至少一個(gè)時(shí),在步驟S29中,選取查找到的任一標(biāo)識或者選取查找到的距離當(dāng)前標(biāo)識最近的標(biāo)識,執(zhí)行S31。
[0156]當(dāng)未查找時(shí),在步驟S30中,選取當(dāng)前標(biāo)識,執(zhí)行S31。
[0157]在步驟S31中,關(guān)閉選取的標(biāo)識對應(yīng)的應(yīng)用程序,執(zhí)行S40。
[0158]當(dāng)所述個(gè)數(shù)未超過預(yù)設(shè)閾值時(shí),在步驟S32中,獲取當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長,確定不活躍時(shí)長是否超過第一預(yù)設(shè)時(shí)長。
[0159]當(dāng)不活躍時(shí)長超過第一預(yù)設(shè)時(shí)長時(shí),在步驟S33中,關(guān)閉當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序,執(zhí)行S40。
[0160]為了避免內(nèi)存資源的浪費(fèi),對于白名單中保存當(dāng)前標(biāo)識且所述個(gè)數(shù)未超過預(yù)設(shè)閾值的情況,還可以獲取當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長,如果該不活躍時(shí)長超過第一預(yù)設(shè)時(shí)長,就可以直接關(guān)閉當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序,也就是說,即使白名單中保存當(dāng)前標(biāo)識且所述個(gè)數(shù)未超過預(yù)設(shè)閾值,在當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序長時(shí)間不活躍的情況下,也可以關(guān)閉。第一預(yù)設(shè)時(shí)長可以根據(jù)實(shí)際需要進(jìn)行設(shè)定,例如可以設(shè)定為3分鐘、5分鐘、10分鐘等等。
[0161]例如,對于QQ,用戶在使用完之后轉(zhuǎn)為后臺運(yùn)行狀態(tài),若不活躍時(shí)長超過10分鐘,雖然白名單中保存了 QQ的標(biāo)識,但是仍可以關(guān)閉QQ,以節(jié)省內(nèi)存資源。
[0162]當(dāng)不活躍時(shí)長未超過第一預(yù)設(shè)時(shí)長時(shí),在步驟S34中,檢測不活躍時(shí)長是否超過第二預(yù)設(shè)時(shí)長。
[0163]當(dāng)不活躍時(shí)長超過第二預(yù)設(shè)時(shí)長時(shí),在步驟S35中,釋放當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序中的用戶界面所占用的內(nèi)存,執(zhí)行S40。
[0164]當(dāng)不活躍時(shí)長不超過第二預(yù)設(shè)時(shí)長時(shí),執(zhí)行S40。
[0165]繼續(xù)沿用上例,當(dāng)不活躍時(shí)長未超過第一預(yù)設(shè)時(shí)長時(shí),還可以繼續(xù)檢測不活躍時(shí)長是否超過第二預(yù)設(shè)時(shí)長,第二預(yù)設(shè)時(shí)長要小于第一預(yù)設(shè)時(shí)長,若超過,釋放當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序中的用戶界面所占用的內(nèi)存;若未超過,可以遍歷程序列表中的下一個(gè)標(biāo)識。第二預(yù)設(shè)時(shí)長可以根據(jù)實(shí)際需要進(jìn)行設(shè)定,例如可以設(shè)定為3分鐘、5分鐘、10分鐘等等。
[0166]例如,例如,對于QQ,用戶在使用完之后轉(zhuǎn)為后臺運(yùn)行狀態(tài),若不活躍時(shí)長超過5分鐘,雖然白名單中保存了 QQ的標(biāo)識,但是仍可以釋放QQ的用戶界面占用的內(nèi)存,以節(jié)省內(nèi)存資源。
[0167]由于釋放不活躍時(shí)長超過第二預(yù)設(shè)時(shí)長的應(yīng)用程序的Π占用的內(nèi)存,從而可以節(jié)省大量內(nèi)存,當(dāng)該應(yīng)用程序的運(yùn)行狀態(tài)變?yōu)榍芭_時(shí),可以自動重建UI,不影響用戶使用。
[0168]當(dāng)白名單中未保存當(dāng)前標(biāo)識時(shí),在步驟S36中,確定程序列表中對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的標(biāo)識的個(gè)數(shù)是否超過預(yù)設(shè)閾值。
[0169]當(dāng)所述個(gè)數(shù)超過預(yù)設(shè)閾值時(shí),在步驟S37中,關(guān)閉當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序,執(zhí)行S40。
[0170]若白名單中未保存當(dāng)前標(biāo)識且程序列表中對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的標(biāo)識的個(gè)數(shù)超過預(yù)設(shè)閾值,可以直接關(guān)閉當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序,由于白名單中未保存當(dāng)前標(biāo)識,也就是說當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序不是用戶指定的后臺應(yīng)用程序,因此可以直接關(guān)閉,從而節(jié)省內(nèi)存資源,提升用戶體驗(yàn)。
[0171]當(dāng)所述個(gè)數(shù)未超過預(yù)設(shè)閾值時(shí),在步驟S38中,獲取當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長,確定不活躍時(shí)長是否超過第三預(yù)設(shè)時(shí)長。
[0172]當(dāng)不活躍時(shí)長超過第三預(yù)設(shè)時(shí)長時(shí),在步驟S39中,釋放當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序中的用戶界面所占用的內(nèi)存,執(zhí)行S40。
[0173]當(dāng)不活躍時(shí)長不超過第三預(yù)設(shè)時(shí)長時(shí),執(zhí)行S40。
[0174]相應(yīng)地,為了節(jié)省內(nèi)存資源,對于白名單中未保存當(dāng)前標(biāo)識且所述個(gè)數(shù)未超過預(yù)設(shè)閾值的情況,還可以獲取當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長,如果該不活躍時(shí)長超過第三預(yù)設(shè)時(shí)長,就可以釋放當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序中的用戶界面所占用的內(nèi)存。
[0175]第三預(yù)設(shè)時(shí)長可以根據(jù)實(shí)際需要進(jìn)行設(shè)定,例如可以設(shè)定為3分鐘、5分鐘、10分鐘等等。
[0176]例如,對于計(jì)算器,用戶在使用完之后轉(zhuǎn)為后臺運(yùn)行狀態(tài),若不活躍時(shí)長超過5分鐘,由于白名單中未保存計(jì)算器的標(biāo)識,可以釋放計(jì)算器的用戶界面所占用的內(nèi)存,以節(jié)省內(nèi)存資源。
[0177]在步驟S40中,結(jié)束。
[0178]圖3是根據(jù)一示例性實(shí)施例示出的一種后臺應(yīng)用程序的控制裝置框圖。參照圖3,該裝置包括建立單元31,遍歷單元32,第一確定單元33,第二確定單元34和第一關(guān)閉單元35。
[0179]該建立單元31被配置為,根據(jù)操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序建立程序列表,程序列表中至少保存有操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序的標(biāo)識。
[0180]該遍歷單元32被配置為,遍歷程序列表中的標(biāo)識。
[0181]該第一確定單元33被配置為,遍歷到的標(biāo)識為當(dāng)前標(biāo)識,確定當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序是否為后臺應(yīng)用程序。
[0182]該第二確定單元34被配置為,當(dāng)當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序時(shí),確定預(yù)設(shè)的白名單中是否保存當(dāng)前標(biāo)識、以及程序列表中對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的標(biāo)識的個(gè)數(shù)是否超過預(yù)設(shè)閾值,白名單中保存的是用戶指定的后臺應(yīng)用程序的標(biāo)識。
[0183]該第一關(guān)閉單元35被配置為,當(dāng)白名單中保存當(dāng)前標(biāo)識且所述個(gè)數(shù)超過預(yù)設(shè)閾值時(shí),從程序列表中選取對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的一個(gè)標(biāo)識,關(guān)閉選取的標(biāo)識對應(yīng)的應(yīng)用程序;當(dāng)白名單中未保存當(dāng)前標(biāo)識且所述個(gè)數(shù)超過預(yù)設(shè)閾值時(shí),關(guān)閉當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序。
[0184]該方案中,終端設(shè)備在確定要關(guān)閉的后臺應(yīng)用程序時(shí),不僅考慮后臺應(yīng)用程序的數(shù)量是否超過預(yù)設(shè)閾值,還需要考慮該后臺應(yīng)用程序的標(biāo)識是否保存在預(yù)設(shè)的白名單中,白名單中保存的是用戶指定的后臺應(yīng)用程序的標(biāo)識,也就是說這些白名單中的標(biāo)識對應(yīng)的后臺應(yīng)用程序是用戶不希望關(guān)閉的,對于遍歷到的當(dāng)前標(biāo)識,當(dāng)白名單中保存當(dāng)前標(biāo)識且后臺應(yīng)用程序的個(gè)數(shù)超過預(yù)設(shè)閾值時(shí),選取一個(gè)后臺應(yīng)用程序并關(guān)閉;當(dāng)白名單中未保存當(dāng)前標(biāo)識且后臺應(yīng)用程序的個(gè)數(shù)超過預(yù)設(shè)閾值時(shí),關(guān)閉當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序,由于不會輕易關(guān)閉用戶指定的后臺應(yīng)用程序,相對于相關(guān)技術(shù)中結(jié)束占用內(nèi)存最大且可能是用戶指定的后臺應(yīng)用程序的方法,能夠更好地控制后臺應(yīng)用程序,提升用戶體驗(yàn)。
[0185]可選的,建立單元31包括計(jì)算子單元和排序子單元。
[0186]該計(jì)算子單元被配置為,計(jì)算操作系統(tǒng)中正在運(yùn)行的每個(gè)應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級,運(yùn)行狀態(tài)優(yōu)先級由高到低排序?yàn)榍芭_、可見、可感知、后臺。
[0187]該排序子單元被配置為,按照應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級由高到低的順序排列應(yīng)用程序的標(biāo)識,得到程序列表。
[0188]可選的,第一確定單元33包括獲取子單元和第一確定子單元。
[0189]該獲取子單元被配置為,獲取當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級。
[0190]該第一確定子單元被配置為,當(dāng)當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級為后臺時(shí),確定當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序。
[0191]可選的,第一關(guān)閉單元35包括查找子單元和選取子單元。
[0192]該查找子單元被配置為,在程序列表中查找位于當(dāng)前標(biāo)識之前且白名單中未保存的標(biāo)識。
[0193]該選取子單元被配置為,當(dāng)查找到至少一個(gè)位于當(dāng)前標(biāo)識之前且白名單中未保存的標(biāo)識時(shí),選取查找到的任一標(biāo)識或者選取查找到的距離當(dāng)前標(biāo)識最近的標(biāo)識;當(dāng)未查找到位于當(dāng)前標(biāo)識之前且白名單中未保存的標(biāo)識時(shí),選取當(dāng)前標(biāo)識。
[0194]可選的,所述裝置還包括第一獲取單元,第三確定單元和第二關(guān)閉單元。
[0195]該第一獲取單元被配置為,當(dāng)白名單中保存當(dāng)前標(biāo)識且所述個(gè)數(shù)未超過預(yù)設(shè)閾值時(shí),獲取當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長。
[0196]該第三確定單元被配置為,確定不活躍時(shí)長是否超過第一預(yù)設(shè)時(shí)長。
[0197]該第二關(guān)閉單元被配置為,當(dāng)不活躍時(shí)長超過第一預(yù)設(shè)時(shí)長時(shí),關(guān)閉當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序。
[0198]可選的,所述裝置還包括檢測單元和第一釋放單元。
[0199]該檢測單元被配置為,當(dāng)不活躍時(shí)長未超過第一預(yù)設(shè)時(shí)長時(shí),檢測不活躍時(shí)長是否超過第二預(yù)設(shè)時(shí)長。
[0200]該第一釋放單元被配置為,當(dāng)不活躍時(shí)長超過第二預(yù)設(shè)時(shí)長時(shí),釋放當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序中的用戶界面所占用的內(nèi)存,第二預(yù)設(shè)時(shí)長小于第一預(yù)設(shè)時(shí)長。
[0201]可選的,所述裝置還包括第二獲取單元,第四確定單元和第二釋放單元。
[0202]該第二獲取單元被配置為,當(dāng)白名單中未保存當(dāng)前標(biāo)識且所述個(gè)數(shù)未超過預(yù)設(shè)閾值時(shí),獲取當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長。
[0203]該第四確定單元被配置為,確定不活躍時(shí)長是否超過第三預(yù)設(shè)時(shí)長。
[0204]該第二釋放單元被配置為,當(dāng)不活躍時(shí)長超過第三預(yù)設(shè)時(shí)長時(shí),釋放當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序中的用戶界面所占用的內(nèi)存。
[0205]可選的,第一獲取單元和第二獲取單元包括統(tǒng)計(jì)子單元和第二確定子單元。
[0206]該統(tǒng)計(jì)子單元被配置為,統(tǒng)計(jì)當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的進(jìn)程未與操作系統(tǒng)中其他進(jìn)程交互的時(shí)長。
[0207]該第二確定子單元被配置為,將統(tǒng)計(jì)的時(shí)長確定為當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長。
[0208]關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說明。
[0209]圖4是根據(jù)一示例性實(shí)施例示出的一種用于后臺應(yīng)用程序的控制裝置800的框圖。例如,裝置800可以是移動電話,計(jì)算機(jī),數(shù)字廣播終端,消息收發(fā)設(shè)備,游戲控制臺,平板設(shè)備,醫(yī)療設(shè)備,健身設(shè)備,個(gè)人數(shù)字助理等。
[0210]參照圖4,裝置800可以包括以下一個(gè)或多個(gè)組件:處理組件802,存儲器804,電源組件806,多媒體組件808,音頻組件810,輸入/輸出(I/O)的接口 812,傳感器組件814,以及通信組件816。
[0211 ] 處理組件802通??刂蒲b置800的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機(jī)操作和記錄操作相關(guān)聯(lián)的操作。處理組件802可以包括一個(gè)或多個(gè)處理器820來執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件802可以包括一個(gè)或多個(gè)模塊,便于處理組件802和其他組件之間的交互。例如,處理組件802可以包括多媒體模塊,以方便多媒體組件808和處理組件802之間的交互。
[0212]存儲器804被配置為存儲各種類型的數(shù)據(jù)以支持在裝置800的操作。這些數(shù)據(jù)的示例包括用于在裝置800上操作的任何應(yīng)用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話簿數(shù)據(jù),消息,圖片,視頻等。存儲器804可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實(shí)現(xiàn),如靜態(tài)隨機(jī)存取存儲器(SRAM),電可擦除可編程只讀存儲器(EEPROM),可擦除可編程只讀存儲器(EPROM),可編程只讀存儲器(PROM),只讀存儲器(ROM),磁存儲器,快閃存儲器,磁盤或光盤。
[0213]電源組件806為裝置800的各種組件提供電力。電源組件806可以包括電源控制系統(tǒng),一個(gè)或多個(gè)電源,及其他與為裝置800生成、控制和分配電力相關(guān)聯(lián)的組件。
[0214]多媒體組件808包括在所述裝置800和用戶之間的提供一個(gè)輸出接口的屏幕。在一些實(shí)施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面板,屏幕可以被實(shí)現(xiàn)為觸摸屏,以接收來自用戶的輸入信號。觸摸面板包括一個(gè)或多個(gè)觸摸傳感器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸傳感器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與所述觸摸或滑動操作相關(guān)的持續(xù)時(shí)間和壓力。在一些實(shí)施例中,多媒體組件808包括一個(gè)前置攝像頭和/或后置攝像頭。當(dāng)裝置800處于操作模式,如拍攝模式或視頻模式時(shí),前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個(gè)前置攝像頭和后置攝像頭可以是一個(gè)固定的光學(xué)透鏡系統(tǒng)或具有焦距和光學(xué)變焦能力。
[0215]音頻組件810被配置為輸出和/或輸入音頻信號。例如,音頻組件810包括一個(gè)麥克風(fēng)(MIC),當(dāng)裝置800處于操作模式,如呼叫模式、記錄模式和語音識別模式時(shí),麥克風(fēng)被配置為接收外部音頻信號。所接收的音頻信號可以被進(jìn)一步存儲在存儲器804或經(jīng)由通信組件816發(fā)送。在一些實(shí)施例中,音頻組件810還包括一個(gè)揚(yáng)聲器,用于輸出音頻信號。
[0216]I/O接口 812為處理組件802和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤,點(diǎn)擊輪,按鈕等。這些按鈕可包括但不限于:主頁按鈕、音量按鈕、啟動按鈕和鎖定按鈕。
[0217]傳感器組件814包括一個(gè)或多個(gè)傳感器,用于為裝置800提供各個(gè)方面的狀態(tài)評估。例如,傳感器組件814可以檢測到裝置800的打開/結(jié)束狀態(tài),組件的相對定位,例如所述組件為裝置800的顯示器和小鍵盤,傳感器組件814還可以檢測裝置800或裝置800一個(gè)組件的位置改變,用戶與裝置800接觸的存在或不存在,裝置800方位或加速/減速和裝置800的溫度變化。傳感器組件814可以包括接近傳感器,被配置用來在沒有任何的物理接觸時(shí)檢測附近物體的存在。傳感器組件814還可以包括光傳感器,如CMOS或CXD圖像傳感器,用于在成像應(yīng)用中使用。在一些實(shí)施例中,該傳感器組件814還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。
[0218]通信組件816被配置為便于裝置800和其他設(shè)備之間有線或無線方式的通信。裝置800可以接入基于通信標(biāo)準(zhǔn)的無線網(wǎng)絡(luò),如WiFi,2G或3G,或它們的組合。在一個(gè)示例性實(shí)施例中,通信組件816經(jīng)由廣播信道接收來自外部廣播控制系統(tǒng)的廣播信號或廣播相關(guān)信息。在一個(gè)示例性實(shí)施例中,所述通信組件816還包括近場通信(NFC)模塊,以促進(jìn)短程通信。例如,在NFC模塊可基于射頻識別(RFID)技術(shù),紅外數(shù)據(jù)協(xié)會(IrDA)技術(shù),超寬帶(UffB)技術(shù),藍(lán)牙(BT)技術(shù)和其他技術(shù)來實(shí)現(xiàn)。
[0219]在示例性實(shí)施例中,裝置800可以被一個(gè)或多個(gè)應(yīng)用專用集成電路(ASIC)、數(shù)字信號處理器(DSP)、數(shù)字信號處理設(shè)備(DSro)、可編程邏輯器件(PLD)、現(xiàn)場可編程門陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實(shí)現(xiàn),用于執(zhí)行上述方法。
[0220]在示例性實(shí)施例中,還提供了一種包括指令的非臨時(shí)性計(jì)算機(jī)可讀存儲介質(zhì),例如包括指令的存儲器804,上述指令可由裝置800的處理器820執(zhí)行以完成上述方法。例如,所述非臨時(shí)性計(jì)算機(jī)可讀存儲介質(zhì)可以是ROM、隨機(jī)存取存儲器(RAM)、CD-ROM、磁帶、軟盤和光數(shù)據(jù)存儲設(shè)備等。
[0221]一種非臨時(shí)性計(jì)算機(jī)可讀存儲介質(zhì),當(dāng)所述存儲介質(zhì)中的指令由終端設(shè)備的處理器執(zhí)行時(shí),使得終端設(shè)備能夠執(zhí)行一種后臺應(yīng)用程序的控制方法,所述方法包括:
[0222]根據(jù)操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序建立程序列表,所述程序列表中至少保存有所述操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序的標(biāo)識;
[0223]遍歷所述程序列表中的標(biāo)識;
[0224]遍歷到的標(biāo)識為當(dāng)前標(biāo)識,確定所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序是否為后臺應(yīng)用程序;
[0225]當(dāng)所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序時(shí),確定預(yù)設(shè)的白名單中是否保存所述當(dāng)前標(biāo)識、以及所述程序列表中對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的標(biāo)識的個(gè)數(shù)是否超過預(yù)設(shè)閾值,所述白名單中保存的是用戶指定的后臺應(yīng)用程序的標(biāo)識;
[0226]當(dāng)所述白名單中保存所述當(dāng)前標(biāo)識且所述個(gè)數(shù)超過所述預(yù)設(shè)閾值時(shí),從所述程序列表中選取對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的一個(gè)標(biāo)識,關(guān)閉選取的標(biāo)識對應(yīng)的應(yīng)用程序;
[0227]當(dāng)所述白名單中未保存所述當(dāng)前標(biāo)識且所述個(gè)數(shù)超過所述預(yù)設(shè)閾值時(shí),關(guān)閉所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序。
[0228]本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本公開未公開的本【技術(shù)領(lǐng)域】中的公知常識或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
[0229]應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。
【權(quán)利要求】
1.一種后臺應(yīng)用程序的控制方法,其特征在于,包括: 根據(jù)操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序建立程序列表,所述程序列表中至少保存有所述操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序的標(biāo)識; 遍歷所述程序列表中的標(biāo)識; 遍歷到的標(biāo)識為當(dāng)前標(biāo)識,確定所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序是否為后臺應(yīng)用程序;當(dāng)所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序時(shí),確定預(yù)設(shè)的白名單中是否保存所述當(dāng)前標(biāo)識、以及所述程序列表中對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的標(biāo)識的個(gè)數(shù)是否超過預(yù)設(shè)閾值,所述白名單中保存的是用戶指定的后臺應(yīng)用程序的標(biāo)識; 當(dāng)所述白名單中保存所述當(dāng)前標(biāo)識且所述個(gè)數(shù)超過所述預(yù)設(shè)閾值時(shí),從所述程序列表中選取對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的一個(gè)標(biāo)識,關(guān)閉選取的標(biāo)識對應(yīng)的應(yīng)用程序;當(dāng)所述白名單中未保存所述當(dāng)前標(biāo)識且所述個(gè)數(shù)超過所述預(yù)設(shè)閾值時(shí),關(guān)閉所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序建立程序列表的步驟包括: 計(jì)算操作系統(tǒng)中正在運(yùn)行的每個(gè)應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級,所述運(yùn)行狀態(tài)優(yōu)先級由高到低排序?yàn)榍芭_、可見、可感知、后臺; 按照應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級由高到低的順序排列應(yīng)用程序的標(biāo)識,得到程序列表。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述確定所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序是否為后臺應(yīng)用程序的步驟包括: 獲取所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級; 當(dāng)所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級為后臺時(shí),確定所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序。
4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述從所述程序列表中選取對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的一個(gè)標(biāo)識的步驟包括: 在所述程序列表中查找位于所述當(dāng)前標(biāo)識之前且所述白名單中未保存的標(biāo)識; 當(dāng)查找到至少一個(gè)位于所述當(dāng)前標(biāo)識之前且所述白名單中未保存的標(biāo)識時(shí),選取查找到的任一標(biāo)識或者選取查找到的距離所述當(dāng)前標(biāo)識最近的標(biāo)識; 當(dāng)未查找到位于所述當(dāng)前標(biāo)識之前且所述白名單中未保存的標(biāo)識時(shí),選取所述當(dāng)前標(biāo)識。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 當(dāng)所述白名單中保存所述當(dāng)前標(biāo)識且所述個(gè)數(shù)未超過所述預(yù)設(shè)閾值時(shí),獲取所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長; 確定所述不活躍時(shí)長是否超過第一預(yù)設(shè)時(shí)長; 當(dāng)所述不活躍時(shí)長超過所述第一預(yù)設(shè)時(shí)長時(shí),關(guān)閉所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法還包括: 當(dāng)所述不活躍時(shí)長未超過所述第一預(yù)設(shè)時(shí)長時(shí),檢測所述不活躍時(shí)長是否超過第二預(yù)設(shè)時(shí)長; 當(dāng)所述不活躍時(shí)長超過所述第二預(yù)設(shè)時(shí)長時(shí),釋放所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序中的用戶界面所占用的內(nèi)存,所述第二預(yù)設(shè)時(shí)長小于所述第一預(yù)設(shè)時(shí)長。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 當(dāng)所述白名單中未保存所述當(dāng)前標(biāo)識且所述個(gè)數(shù)未超過所述預(yù)設(shè)閾值時(shí),獲取所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長; 確定所述不活躍時(shí)長是否超過第三預(yù)設(shè)時(shí)長; 當(dāng)所述不活躍時(shí)長超過所述第三預(yù)設(shè)時(shí)長時(shí),釋放所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序中的用戶界面所占用的內(nèi)存。
8.根據(jù)權(quán)利要求5-7任一權(quán)利要求所述的方法,其特征在于,所述獲取所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長的步驟包括: 統(tǒng)計(jì)所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的進(jìn)程未與所述操作系統(tǒng)中其他進(jìn)程交互的時(shí)長; 將統(tǒng)計(jì)的時(shí)長確定為所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長。
9.一種后臺應(yīng)用程序的控制裝置,其特征在于,包括: 建立單元,用于根據(jù)操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序建立程序列表,所述程序列表中至少保存有所述操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序的標(biāo)識; 遍歷單元,用于遍歷所述程序列表中的標(biāo)識; 第一確定單元,用于遍歷到的標(biāo)識為當(dāng)前標(biāo)識,確定所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序是否為后臺應(yīng)用程序; 第二確定單元,用于當(dāng)所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序時(shí),確定預(yù)設(shè)的白名單中是否保存所述當(dāng)前標(biāo)識、以及所述程序列表中對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的標(biāo)識的個(gè)數(shù)是否超過預(yù)設(shè)閾值,所述白名單中保存的是用戶指定的后臺應(yīng)用程序的標(biāo)識; 第一關(guān)閉單元,用于當(dāng)所述白名單中保存所述當(dāng)前標(biāo)識且所述個(gè)數(shù)超過所述預(yù)設(shè)閾值時(shí),從所述程序列表中選取對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的一個(gè)標(biāo)識,關(guān)閉選取的標(biāo)識對應(yīng)的應(yīng)用程序;當(dāng)所述白名單中未保存所述當(dāng)前標(biāo)識且所述個(gè)數(shù)超過所述預(yù)設(shè)閾值時(shí),關(guān)閉所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述建立單元包括: 計(jì)算子單元,用于計(jì)算操作系統(tǒng)中正在運(yùn)行的每個(gè)應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級,所述運(yùn)行狀態(tài)優(yōu)先級由高到低排序?yàn)榍芭_、可見、可感知、后臺; 排序子單元,用于按照應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級由高到低的順序排列應(yīng)用程序的標(biāo)識,得到程序列表。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述第一確定單元包括: 獲取子單元,用于獲取所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級; 第一確定子單元,用于當(dāng)所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的運(yùn)行狀態(tài)優(yōu)先級為后臺時(shí),確定所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序。
12.根據(jù)權(quán)利要求10或11所述的裝置,其特征在于,所述第一關(guān)閉單元包括: 查找子單元,用于在所述程序列表中查找位于所述當(dāng)前標(biāo)識之前且所述白名單中未保存的標(biāo)識; 選取子單元,用于當(dāng)查找到至少一個(gè)位于所述當(dāng)前標(biāo)識之前且所述白名單中未保存的標(biāo)識時(shí),選取查找到的任一標(biāo)識或者選取查找到的距離所述當(dāng)前標(biāo)識最近的標(biāo)識;當(dāng)未查找到位于所述當(dāng)前標(biāo)識之前且所述白名單中未保存的標(biāo)識時(shí),選取所述當(dāng)前標(biāo)識。
13.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括: 第一獲取單元,用于當(dāng)所述白名單中保存所述當(dāng)前標(biāo)識且所述個(gè)數(shù)未超過所述預(yù)設(shè)閾值時(shí),獲取所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長; 第三確定單元,用于確定所述不活躍時(shí)長是否超過第一預(yù)設(shè)時(shí)長; 第二關(guān)閉單元,用于當(dāng)所述不活躍時(shí)長超過所述第一預(yù)設(shè)時(shí)長時(shí),關(guān)閉所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述裝置還包括: 檢測單元,用于當(dāng)所述不活躍時(shí)長未超過所述第一預(yù)設(shè)時(shí)長時(shí),檢測所述不活躍時(shí)長是否超過第二預(yù)設(shè)時(shí)長; 第一釋放單元,用于當(dāng)所述不活躍時(shí)長超過所述第二預(yù)設(shè)時(shí)長時(shí),釋放所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序中的用戶界面所占用的內(nèi)存,所述第二預(yù)設(shè)時(shí)長小于所述第一預(yù)設(shè)時(shí)長。
15.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括: 第二獲取單元,用于當(dāng)所述白名單中未保存所述當(dāng)前標(biāo)識且所述個(gè)數(shù)未超過所述預(yù)設(shè)閾值時(shí),獲取所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長; 第四確定單元,用于確定所述不活躍時(shí)長是否超過第三預(yù)設(shè)時(shí)長; 第二釋放單元,用于當(dāng)所述不活躍時(shí)長超過所述第三預(yù)設(shè)時(shí)長時(shí),釋放所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序中的用戶界面所占用的內(nèi)存。
16.根據(jù)權(quán)利要求13-15任一權(quán)利要求所述的裝置,其特征在于,所述第一獲取單元和所述第二獲取單元包括: 統(tǒng)計(jì)子單元,用于統(tǒng)計(jì)所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的進(jìn)程未與所述操作系統(tǒng)中其他進(jìn)程交互的時(shí)長; 第二確定子單元,用于將統(tǒng)計(jì)的時(shí)長確定為所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序的不活躍時(shí)長。
17.一種終端設(shè)備,其特征在于,包括: 處理器; 用于存儲處理器可執(zhí)行指令的存儲器: 其中,所述處理器被配置為: 根據(jù)操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序建立程序列表,所述程序列表中至少保存有所述操作系統(tǒng)中正在運(yùn)行的應(yīng)用程序的標(biāo)識; 遍歷所述程序列表中的標(biāo)識; 遍歷到的標(biāo)識為當(dāng)前標(biāo)識,確定所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序是否為后臺應(yīng)用程序;當(dāng)所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序時(shí),確定預(yù)設(shè)的白名單中是否保存所述當(dāng)前標(biāo)識、以及所述程序列表中對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的標(biāo)識的個(gè)數(shù)是否超過預(yù)設(shè)閾值,所述白名單中保存的是用戶指定的后臺應(yīng)用程序的標(biāo)識; 當(dāng)所述白名單中保存所述當(dāng)前標(biāo)識且所述個(gè)數(shù)超過所述預(yù)設(shè)閾值時(shí),從所述程序列表中選取對應(yīng)的應(yīng)用程序?yàn)楹笈_應(yīng)用程序的一個(gè)標(biāo)識,關(guān)閉選取的標(biāo)識對應(yīng)的應(yīng)用程序;當(dāng)所述白名單中未保存所述當(dāng)前標(biāo)識且所述個(gè)數(shù)超過所述預(yù)設(shè)閾值時(shí),關(guān)閉所述當(dāng)前標(biāo)識對應(yīng)的應(yīng)用程序。
【文檔編號】G06F9/445GK104239094SQ201410436455
【公開日】2014年12月24日 申請日期:2014年8月29日 優(yōu)先權(quán)日:2014年8月29日
【發(fā)明者】袁軍, 李明浩, 梁金祥, 陶建濤 申請人:小米科技有限責(zé)任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
巴彦淖尔市| 黔东| 建始县| 阳春市| 玉溪市| 凤台县| 塘沽区| 平原县| 盐池县| 桐城市| 浮梁县| 石柱| 星座| 安顺市| 留坝县| 容城县| 屯昌县| 平和县| 衡山县| 饶阳县| 舞阳县| 河津市| 如东县| 武平县| 荣成市| 隆德县| 宣化县| 兰州市| 辰溪县| 英德市| 光山县| 普定县| 常宁市| 盖州市| 景东| 登封市| 根河市| 林甸县| 朔州市| 双辽市| 江孜县|