鈕)以啟動(dòng)上述的應(yīng)用程序,并通過選中on打開“memassistant^即信息應(yīng)用),可以在終端的屏幕上顯示一個(gè)半透明的懸浮窗(如圖4所示的懸浮窗401),在本發(fā)明該實(shí)施例中,此懸浮窗可任意拖動(dòng)位置。具體地,可以將main菜單中的“mem assistant” (即信息應(yīng)用)on選中,即可打開“mem assistant”。
[0071]在圖4所示的懸浮窗上的“GC”(即上述實(shí)施例中的內(nèi)存回收按鈕),“refresh”(刷新按鈕)和“dump” (即上述實(shí)施例中的內(nèi)存信息記錄按鈕)按鈕可提供內(nèi)存垃圾回收操作,刷新內(nèi)存信息,獲取內(nèi)存快照功能及顯示內(nèi)存信息。
[0072]如圖4所示,在啟動(dòng)查看騰訊地圖的當(dāng)前占用的內(nèi)存的信息之后,進(jìn)入查看騰訊地圖的當(dāng)前占用的內(nèi)存的信息之后,騰訊地圖仍然正常運(yùn)行,只是在騰訊地圖的顯示界面上出現(xiàn)了一個(gè)懸浮框,該懸浮框的初始狀態(tài)如圖4所示,heapSiZe:0(即堆大小);Allocated:0(即分配的內(nèi)存),用戶可以通過點(diǎn)擊刷新按鈕啟動(dòng)當(dāng)前顯示在懸浮窗上的內(nèi)存信息,啟動(dòng)顯示內(nèi)存的信息之后,界面變成如圖5所示的界面。
[0073]在用戶可以通過點(diǎn)擊刷新按鈕啟動(dòng)當(dāng)前顯示在懸浮窗上的內(nèi)存信息之后,如圖5所示,用戶可以通過點(diǎn)擊“refresh” (即上述的刷新按鈕)來刷新當(dāng)前顯示在懸浮窗上的內(nèi)存信息時(shí),同時(shí)會對該操作計(jì)數(shù),方便用戶在內(nèi)存數(shù)據(jù)記錄文件中找到對應(yīng)的記錄,從而分析APP在不同使用場景下的內(nèi)存狀態(tài)。當(dāng)用戶點(diǎn)擊“dump”時(shí),被測APP的內(nèi)存快照將會被生成并保存到手機(jī)存儲卡里,方便用戶以后的對APP的內(nèi)存快照進(jìn)行分析。當(dāng)用戶在我們在應(yīng)用中關(guān)閉“mem assistant”時(shí),會將使用過程中的內(nèi)存信息保存為數(shù)據(jù)文件,以便用戶查找分析。圖5中的dHeapsize:0(即當(dāng)前的堆大小);dAllocated:0 (即當(dāng)前分配的內(nèi)存)pss_N為native即本地的內(nèi)存;pss_T為total即全部的內(nèi)存;pss_o為other即剩余內(nèi)存,pss_D為dalvik,即虛擬機(jī)的內(nèi)存。
[0074]在本發(fā)明的上述實(shí)施例中,GC和dump可以使用注入方式處理,也可以通過調(diào)系統(tǒng)命令實(shí)現(xiàn)。
[0075]具體地,GC是垃圾收集的意思(Garbage Collect1n),是內(nèi)存的一種管理操作。
[0076]上述實(shí)施例中的內(nèi)存的信息可以通過調(diào)用操作系統(tǒng)的接口實(shí)現(xiàn)。
[0077]需要說明的是,對于前述的各方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。
[0078]通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實(shí)施例的方法可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個(gè)存儲介質(zhì)(如R0M/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
[0079]實(shí)施例2
[0080]根據(jù)本發(fā)明實(shí)施例,還提供了一種用于實(shí)施上述用于顯示應(yīng)用程序所占用的內(nèi)存的裝置,如圖6所示,該裝置可以包括:第一獲取模塊10、第二獲取模塊30以及顯示模塊50。
[0081]其中,第一獲取模塊,用于獲取終端當(dāng)前運(yùn)行的應(yīng)用程序的標(biāo)識,其中,當(dāng)前運(yùn)行的應(yīng)用程序的界面顯示在終端的屏幕上;第二獲取模塊,用于獲取標(biāo)識所指示的應(yīng)用程序當(dāng)前所占用的內(nèi)存的信息,其中,內(nèi)存的信息至少用于指示應(yīng)用程序所占用的內(nèi)存的大小;顯示模塊,用于在終端的屏幕上顯示的應(yīng)用程序的界面上顯示內(nèi)存的信息。
[0082]通過本發(fā)明實(shí)施例,在獲取終端當(dāng)前運(yùn)行的應(yīng)用程序的標(biāo)識之后,獲取標(biāo)識所指示的應(yīng)用程序當(dāng)前所占用的內(nèi)存的信息,其中,內(nèi)存的信息至少用于指示應(yīng)用程序所占用的內(nèi)存的大小,并在終端的屏幕上顯示的應(yīng)用程序的界面上顯示內(nèi)存的信息。通過本發(fā)明實(shí)施例,可以在終端上顯示應(yīng)用程序當(dāng)前所占用的內(nèi)存的信息,解決了現(xiàn)有技術(shù)中無法在終端顯示應(yīng)用程序當(dāng)前占用的內(nèi)存信息的技術(shù)問題,實(shí)現(xiàn)了實(shí)時(shí)顯示應(yīng)用程序的當(dāng)前占用的內(nèi)存的信息的效果。
[0083]具體地,可以在獲取終端當(dāng)前運(yùn)行的應(yīng)用程序的標(biāo)識之后,在終端上獲取標(biāo)識所指示的應(yīng)用程序當(dāng)前所占用的內(nèi)存的信息,其中,內(nèi)存的信息至少用于指示應(yīng)用程序所占用的內(nèi)存的大小,然后在終端的屏幕上顯示的應(yīng)用程序的界面上顯示內(nèi)存的信息。
[0084]在本發(fā)明的上述實(shí)施例中,第二獲取模塊可以通過實(shí)時(shí)獲取標(biāo)識所指示的應(yīng)用程序當(dāng)前所占用的內(nèi)存的信息實(shí)現(xiàn)其功能。
[0085]通過上述實(shí)施例可以實(shí)時(shí)獲取當(dāng)前運(yùn)行的應(yīng)用程序的占用內(nèi)存的信息。
[0086]上述實(shí)施例的第二獲取模塊可以為每隔預(yù)設(shè)時(shí)間自動(dòng)地獲取標(biāo)識所指示的應(yīng)用程序當(dāng)前所占用的內(nèi)存的信息;也可以是在接收到觸發(fā)信號之后,獲取標(biāo)識所指示的應(yīng)用程序當(dāng)前所占用的內(nèi)存的信息。該觸發(fā)信號可以是在終端的屏幕上通過點(diǎn)擊“刷新”按鈕生成的觸發(fā)信號。
[0087]下面以手機(jī)地圖為例,詳細(xì)介紹本發(fā)明實(shí)施例。
[0088]具體地,用戶可以通過第三方軟件打開手機(jī)地圖,并在第三方軟件的應(yīng)用界面上啟動(dòng)查看應(yīng)用程序(在該實(shí)施例中為手機(jī)地圖)的當(dāng)前占用的內(nèi)存的信息。在啟動(dòng)該第三方軟件之后,第三方軟件獲取手機(jī)地圖的標(biāo)識,然后獲取該標(biāo)識所代表的手機(jī)地圖的當(dāng)前占用的內(nèi)存的信息,如125k,然后將該內(nèi)存信息展示在手機(jī)地圖的應(yīng)用界面上。用戶可以查看該內(nèi)存信息,用戶還可以編輯該信息。
[0089]在該應(yīng)用場景中,如果用戶移動(dòng)了手機(jī)終端,手機(jī)地圖當(dāng)前占用的內(nèi)存的信息也會實(shí)時(shí)更新。
[0090]通過本發(fā)明上述實(shí)施例,可以在當(dāng)前應(yīng)用程序的界面上展示該應(yīng)用程序當(dāng)前占用的內(nèi)存的信息。
[0091]根據(jù)本發(fā)明的上述實(shí)施例,第二獲取模塊可以包括:發(fā)送模塊,用于向終端的操作系統(tǒng)發(fā)送內(nèi)存信息獲取請求,其中,內(nèi)存信息獲取請求中至少攜帶有標(biāo)識;第一接收模塊,用于接收操作系統(tǒng)返回的應(yīng)用程序的主進(jìn)程當(dāng)前所占用的內(nèi)存的信息。
[0092]具體地,獲取標(biāo)識所指示的應(yīng)用程序當(dāng)前所占用的內(nèi)存的信息可以通過如下方法實(shí)現(xiàn):向終端的操作系統(tǒng)發(fā)送內(nèi)存信息獲取請求,其中,內(nèi)存信息獲取請求中至少攜帶有標(biāo)識;接收操作系統(tǒng)返回的標(biāo)識所指示的應(yīng)用程序的主進(jìn)程當(dāng)前所占用的內(nèi)存的信息。
[0093]例如,在手機(jī)地圖的應(yīng)用程序中,用戶可以通過第三方軟件打開手機(jī)地圖,并在第三方軟件的應(yīng)用界面上啟動(dòng)查看應(yīng)用程序(在該實(shí)施例中為手機(jī)地圖)的當(dāng)前占用的內(nèi)存的信息。在啟動(dòng)該第三方軟件之后,可以通過第三方軟件向終端的操作系統(tǒng)發(fā)送內(nèi)存信息獲取請求,該請求中攜帶有手機(jī)地圖的標(biāo)識,然后接收操作系統(tǒng)返回的應(yīng)用程序的主進(jìn)程當(dāng)前所占用的內(nèi)存的信息,如125k,并將該內(nèi)存信息展示在手機(jī)地圖的應(yīng)用界面上。用戶可以查看該內(nèi)存信息,用戶還可以編輯該信息。
[0094]在本發(fā)明一個(gè)可選的實(shí)施例中,第二獲取模塊可以包括:讀取模塊,用于讀取終端的操作系統(tǒng)中的內(nèi)存使用信息文件,以獲得應(yīng)用程序的主進(jìn)程當(dāng)前所占用的內(nèi)存的信息,其中,內(nèi)存使用信息文件中記錄了終端當(dāng)前運(yùn)行的各個(gè)應(yīng)用程序的主進(jìn)程當(dāng)前所占用的內(nèi)存的信息。
[0095]具體地,獲取標(biāo)識所指示的應(yīng)用程序當(dāng)前所占用的內(nèi)存的信息可以通過如下方法實(shí)現(xiàn):讀取終端的操作系統(tǒng)中的內(nèi)存使用信息文件,以獲得應(yīng)用程序的主進(jìn)程當(dāng)前所占用的內(nèi)存的信息,其中,內(nèi)存使用信息文件中記錄了終端當(dāng)前運(yùn)行的各個(gè)應(yīng)用程序的主進(jìn)程當(dāng)前所占用的內(nèi)存的信息。
[0096]例如,在手機(jī)地圖的應(yīng)用程序中,用戶可以通過第三方軟件打開手機(jī)地圖,并在第三方軟件的應(yīng)用界面上啟動(dòng)查看應(yīng)用程序(在該實(shí)施例中為手機(jī)地圖)的當(dāng)前占用的內(nèi)存的信息,或者用戶可以在手機(jī)地圖的界面上啟動(dòng)查看應(yīng)用程序的當(dāng)前占用的內(nèi)存的信息的第三方軟件。在啟動(dòng)該第三方軟件之后,可以通過第三方軟件讀取終端的操作系統(tǒng)中的內(nèi)存使用信息文件,以獲得應(yīng)用程序的主進(jìn)程當(dāng)前所占用的內(nèi)存的信息。由于內(nèi)存使用信息文件中記錄了終端當(dāng)前運(yùn)行的各個(gè)應(yīng)用程序的主進(jìn)程當(dāng)前所占用的內(nèi)存的信息,第三方軟件可以通過終端的應(yīng)用程序的標(biāo)識讀取該應(yīng)用程序當(dāng)前占用的內(nèi)存的信息,如125k,并將該內(nèi)存信息展示在手機(jī)地圖的應(yīng)用界面上。
[0097]根據(jù)本發(fā)明的上述實(shí)施例,第二獲取模塊可以包括:第二接收模塊,用于接收內(nèi)存獲取指令,其中,內(nèi)存獲取指令用于指示獲取應(yīng)用程序的主進(jìn)程當(dāng)前所占用的內(nèi)存的信息;響應(yīng)模塊,用于響應(yīng)內(nèi)存獲取指令獲取應(yīng)用程序的主進(jìn)程當(dāng)前所占用的內(nèi)存的信息。
[0098]具體地,獲取標(biāo)識所指示的應(yīng)用程序當(dāng)前所占用的內(nèi)存的信息可以通過如下方法實(shí)現(xiàn):終端的操作系統(tǒng)接收應(yīng)用程序通過第三方軟件發(fā)出的內(nèi)存獲取指令,其中,內(nèi)存獲取指令用于指示獲取應(yīng)用程序的主進(jìn)程當(dāng)前所占用的內(nèi)存的信息;并響應(yīng)內(nèi)存獲取指令獲取應(yīng)用程序的主進(jìn)程當(dāng)前所占用的內(nèi)存的信息。
[0099]例如,在手機(jī)地圖的應(yīng)用程序中,用戶可以通過第三方軟件打開手機(jī)地圖,并在第三方軟件的應(yīng)用界面上啟動(dòng)查看應(yīng)用程序(在該實(shí)施例中為手機(jī)地圖)的當(dāng)前占用的內(nèi)存的信息,或者用戶可以在手機(jī)地圖的界面上啟動(dòng)查看應(yīng)用程序的當(dāng)前占用的內(nèi)存的信息的