用程序當(dāng)前所占用的內(nèi)存的信息可以包括:讀取終端的操作系統(tǒng)中的內(nèi)存使用信息文件,以獲得應(yīng)用程序的主進程當(dāng)前所占用的內(nèi)存的信息,其中,內(nèi)存使用信息文件中記錄了終端當(dāng)前運行的各個應(yīng)用程序的主進程當(dāng)前所占用的內(nèi)存的信息。
[0041]具體地,獲取標識所指示的應(yīng)用程序當(dāng)前所占用的內(nèi)存的信息可以通過如下方法實現(xiàn):讀取終端的操作系統(tǒng)中的內(nèi)存使用信息文件,以獲得應(yīng)用程序的主進程當(dāng)前所占用的內(nèi)存的信息,其中,內(nèi)存使用信息文件中記錄了終端當(dāng)前運行的各個應(yīng)用程序的主進程當(dāng)前所占用的內(nèi)存的信息。
[0042]例如,在手機地圖的應(yīng)用程序中,用戶可以通過第三方軟件打開手機地圖,并在第三方軟件的應(yīng)用界面上啟動查看應(yīng)用程序(在該實施例中為手機地圖)的當(dāng)前占用的內(nèi)存的信息,或者用戶可以在手機地圖的界面上啟動查看應(yīng)用程序的當(dāng)前占用的內(nèi)存的信息的第三方軟件。在啟動該第三方軟件之后,可以通過第三方軟件讀取終端的操作系統(tǒng)中的內(nèi)存使用信息文件,以獲得應(yīng)用程序的主進程當(dāng)前所占用的內(nèi)存的信息。由于內(nèi)存使用信息文件中記錄了終端當(dāng)前運行的各個應(yīng)用程序的主進程當(dāng)前所占用的內(nèi)存的信息,第三方軟件可以通過終端的應(yīng)用程序的標識讀取該應(yīng)用程序當(dāng)前占用的內(nèi)存的信息,如125k,并將該內(nèi)存信息展示在手機地圖的應(yīng)用界面上。
[0043]根據(jù)本發(fā)明的上述實施例,獲取標識所指示的應(yīng)用程序當(dāng)前所占用的內(nèi)存的信息可以包括:接收內(nèi)存獲取指令,其中,內(nèi)存獲取指令用于指示獲取應(yīng)用程序的主進程當(dāng)前所占用的內(nèi)存的信息;響應(yīng)內(nèi)存獲取指令獲取應(yīng)用程序的主進程當(dāng)前所占用的內(nèi)存的信息。
[0044]具體地,獲取標識所指示的應(yīng)用程序當(dāng)前所占用的內(nèi)存的信息可以通過如下方法實現(xiàn):終端的操作系統(tǒng)接收應(yīng)用程序通過第三方軟件發(fā)出的內(nèi)存獲取指令,其中,內(nèi)存獲取指令用于指示獲取應(yīng)用程序的主進程當(dāng)前所占用的內(nèi)存的信息;并響應(yīng)內(nèi)存獲取指令獲取應(yīng)用程序的主進程當(dāng)前所占用的內(nèi)存的信息。
[0045]例如,在手機地圖的應(yīng)用程序中,用戶可以通過第三方軟件打開手機地圖,并在第三方軟件的應(yīng)用界面上啟動查看應(yīng)用程序(在該實施例中為手機地圖)的當(dāng)前占用的內(nèi)存的信息,或者用戶可以在手機地圖的界面上啟動查看應(yīng)用程序的當(dāng)前占用的內(nèi)存的信息的第三方軟件。在啟動該第三方軟件之后,可以通過第三方軟件向終端的操作系統(tǒng)中發(fā)送內(nèi)存獲取指令,終端的操作系統(tǒng)獲取該內(nèi)存獲取指令之后,響應(yīng)該內(nèi)存獲取指令得到應(yīng)用程序的主進程當(dāng)前所占用的內(nèi)存的信息,并將該應(yīng)用程序的主進程當(dāng)前所占用的內(nèi)存的信息反饋給應(yīng)用程序和/或第三方軟件,并將該內(nèi)存信息展示在手機地圖的應(yīng)用界面上。
[0046]在本發(fā)明的上述實施例中,在終端的屏幕上顯示的應(yīng)用程序的界面上顯示內(nèi)存的信息可以包括:在終端的屏幕上顯示的應(yīng)用程序的界面上生成的懸浮窗中顯示內(nèi)存的信肩、Ο
[0047]具體地,用戶可以通過第三方軟件打開手機地圖,并在第三方軟件的應(yīng)用界面上啟動查看應(yīng)用程序(在該實施例中為手機地圖)的當(dāng)前占用的內(nèi)存的信息,或者用戶可以在手機地圖的界面上啟動查看應(yīng)用程序的當(dāng)前占用的內(nèi)存的信息的第三方軟件。在啟動該第三方軟件之后,第三方軟件獲取手機地圖的標識,然后獲取該標識所代表的手機地圖的當(dāng)前占用的內(nèi)存的信息,如125k,然后將該內(nèi)存信息展示在手機地圖的應(yīng)用界面上。
[0048]進一步地,將該內(nèi)存信息展示在手機地圖的應(yīng)用界面上可以通過如下方法實現(xiàn):在終端的屏幕上顯示的應(yīng)用程序的界面上生成的懸浮窗中顯示內(nèi)存的信息。該懸浮框具有一定的透明度,并且該懸浮框在應(yīng)用程序的顯示界面上可以移動。
[0049]具體地,用于用戶可以通過該懸浮框查看或編輯該內(nèi)存信息。
[0050]根據(jù)本發(fā)明的上述實施例,本發(fā)明可以將android上運行的指定應(yīng)用程序的內(nèi)存信息直接展示在懸浮窗上,對用戶使用影響小的情況下,展示內(nèi)存信息,方便用戶對應(yīng)用分配的內(nèi)存進行操作。
[0051]通過上述實施例,不僅能實時展示該內(nèi)存信息,而且便于存儲和更新該內(nèi)存信息。
[0052]在本發(fā)明的上述實施例中,懸浮窗中還記錄有:內(nèi)存信息記錄按鈕,其中,在終端的屏幕上顯示的應(yīng)用程序的界面上顯示內(nèi)存的信息之后,方法還可以包括:根據(jù)內(nèi)存信息記錄按鈕被點擊所生成的記錄操作指令將內(nèi)存信息記錄按鈕被點擊時應(yīng)用程序的主進程當(dāng)前所占用的內(nèi)存的信息存儲在終端中。
[0053]具體地,在應(yīng)用程序的當(dāng)前界面上的懸浮框中還可以記錄內(nèi)存信息記錄按鈕,用戶可以通過點擊該內(nèi)存信息記錄按鈕生成記錄操作指令,然后終端的操作系統(tǒng)獲取到記錄操作指令之后,根據(jù)該記錄操作指令,將懸浮框當(dāng)前顯示應(yīng)用程序的當(dāng)前占用的內(nèi)存的信息記錄下來,并且將該當(dāng)前顯示應(yīng)用程序的當(dāng)前占用的內(nèi)存的信息存儲在終端中。
[0054]進一步地,該存儲的應(yīng)用程序的當(dāng)前占用的內(nèi)存的信息可以為快照的形式,也可以是文字的形式存儲在終端的內(nèi)存中。
[0055]例如,用戶可以通過第三方軟件打開手機地圖,并在第三方軟件的應(yīng)用界面上啟動查看應(yīng)用程序(在該實施例中為手機地圖)的當(dāng)前占用的內(nèi)存的信息。在啟動該第三方軟件之后,第三方軟件獲取手機地圖的標識,然后獲取該標識所代表的手機地圖的當(dāng)前占用的內(nèi)存的信息,如125k,然后將該內(nèi)存信息展示在手機地圖的應(yīng)用界面上。
[0056]進一步地,將該內(nèi)存信息展示在手機地圖的應(yīng)用界面上可以通過如下方法實現(xiàn):在終端的屏幕上顯示的應(yīng)用程序的界面上生成的懸浮窗中顯示內(nèi)存的信息。該懸浮框具有一定的透明度,并且該懸浮框在應(yīng)用程序的顯示界面上可以移動。
[0057]在上述的應(yīng)用場景中,用戶通過點擊懸浮框上的內(nèi)存信息記錄按鈕生成記錄操作指令,應(yīng)用程序的終端的操作系統(tǒng)獲取到記錄操作指令之后,根據(jù)該記錄操作指令,將懸浮框當(dāng)前顯示應(yīng)用程序的當(dāng)前占用的內(nèi)存的信息125k記錄下來,并將該當(dāng)前顯示應(yīng)用程序的當(dāng)前占用的內(nèi)存的信息存儲在終端中。
[0058]通過上述實施例,在將懸浮框中當(dāng)前顯示應(yīng)用程序的當(dāng)前占用的內(nèi)存的信息存儲在終端中之后,用戶可以查看各個應(yīng)用程序的各個操作場景的占用內(nèi)存。
[0059]需要進一步說明的是,終端還可以記錄用戶點擊內(nèi)存信息記錄按鈕的時間,以便用戶查找存儲的內(nèi)存的信息。
[0060]在本發(fā)明一個可選的實施例中,懸浮窗中還記錄有:內(nèi)存回收按鈕,其中,在終端的屏幕上顯示的應(yīng)用程序的界面上顯示內(nèi)存的信息之后,方法還可以包括:根據(jù)內(nèi)存回收按鈕被點擊所生成的內(nèi)存回收操作指令將內(nèi)存回收按鈕被點擊時應(yīng)用程序已釋放的、且尚未被回收的內(nèi)存進行回收。
[0061]具體地,在應(yīng)用程序的當(dāng)前界面上的懸浮框中還可以記錄內(nèi)存回收按鈕,用戶可以通過點擊該內(nèi)存回收按鈕生成內(nèi)存回收操作指令,然后終端的操作系統(tǒng)獲取到內(nèi)存回收操作指令之后,根據(jù)該內(nèi)存回收操作指令,將內(nèi)存回收按鈕被點擊時應(yīng)用程序已釋放的、且尚未被回收的內(nèi)存進行回收。
[0062]例如,用戶可以通過第三方軟件打開手機地圖,并在第三方軟件的應(yīng)用界面上啟動查看應(yīng)用程序(在該實施例中為手機地圖)的當(dāng)前占用的內(nèi)存的信息。在啟動該第三方軟件之后,第三方軟件獲取手機地圖的標識,然后獲取該標識所代表的手機地圖的當(dāng)前占用的內(nèi)存的信息,如125k,然后將該內(nèi)存信息展示在手機地圖的應(yīng)用界面上。
[0063]進一步地,將該內(nèi)存信息展示在手機地圖的應(yīng)用界面上可以通過如下方法實現(xiàn):在終端的屏幕上顯示的應(yīng)用程序的界面上生成的懸浮窗中顯示內(nèi)存的信息。該懸浮框具有一定的透明度,并且該懸浮框在應(yīng)用程序的顯示界面上可以移動。
[0064]在上述的應(yīng)用場景中,用戶可以通過點擊該內(nèi)存回收按鈕生成內(nèi)存回收操作指令,然后終端的操作系統(tǒng)獲取到內(nèi)存回收操作指令之后,終端將內(nèi)存回收按鈕被點擊時應(yīng)用程序已釋放的、且尚未被回收的內(nèi)存進行回收,從而可以將釋放的內(nèi)存實時進行回收,從而可以提聞內(nèi)存的利用率。
[0065]通過本發(fā)明上述實施例可以將android上運行的指定應(yīng)用程序的內(nèi)存信息和操作的快捷按鈕直接展示在懸浮窗上,在對用戶使用影響小的情況下,展示內(nèi)存信息,方便用戶對應(yīng)用分配的內(nèi)存進行操作。
[0066]進一步地,本發(fā)明上述實施例通過進程注入的方法,將APP獲取內(nèi)存快照并保存到手機存儲卡上,增加了脫機的環(huán)境下內(nèi)存快照的獲取分析渠道。
[0067]在本發(fā)明上述實施例中,用戶可以在終端上啟動第三方應(yīng)軟件,并在第三方軟件中打開“mem assistant”(即內(nèi)存助手),已啟動上述的應(yīng)用程序(如手機地圖),并可以在終端屏幕上顯示一個半透明的懸浮窗。此懸浮窗可任意拖動位置。懸浮窗上的“GC”(即上述實施例中的內(nèi)存回收按鈕)/‘refresh” (刷新按鈕)和“dump” (即上述實施例中的內(nèi)存信息記錄按鈕)按鈕可提供內(nèi)存垃圾回收操作,刷新內(nèi)存信息,獲取內(nèi)存快照功能及顯示內(nèi)存信息。
[0068]具體地,用戶可以通過點擊“refresh”來刷新當(dāng)前顯示在懸浮窗上的內(nèi)存信息時,同時會對該操作計數(shù),方便用戶在內(nèi)存數(shù)據(jù)記錄文件中找到對應(yīng)的記錄,從而分析APP在不同使用場景下的內(nèi)存狀態(tài)。當(dāng)用戶點擊“dump”時,被測APP的內(nèi)存快照將會被生成并保存到手機存儲卡里,方便用戶以后的對APP的內(nèi)存快照進行分析。當(dāng)用戶在我們在應(yīng)用中關(guān)閉“mem assistant”時,會將使用過程中的內(nèi)存信息保存為數(shù)據(jù)文件,以便用戶查找分析。
[0069]下面以騰訊地圖為例,結(jié)合附圖3至圖5詳細介紹本發(fā)明實施例。
[0070]如圖3所示,用戶可以在終端上通過第三方軟件啟動騰訊地圖,具體地在第三方軟件中通過點擊菜單按鈕(main按