大話APP測試2.0筆記——記憶體測試

來源:互聯網
上載者:User

標籤:測試

  1. 查看記憶體資料之前,要知道你測試的那台手機對於每個應用程式指派的最高記憶體值到底是多少。查看下面路徑的檔案的記憶體來擷取手機給予每個應用程式指派的最高內部值。

    /system/build.prop

    其中對於堆分配的大小是dalvik.vm.heapgrowthlimit,這個數值代表著當你的應用超過這個記憶體值的時候,在該Android手機內會強制終止這個應用的進程。

  2. adb shell procrank

    可以得到PID(進行ID號)、Vss(佔用的虛擬記憶體)、Rss(佔用的實體記憶體)、Pss(佔用的私人記憶體加上平均分配的共用記憶體)、Uss(私人記憶體)

    主要看Uss,如果超過應用被分配的最大記憶體值,那麼就會出現應用的閃退。如果擷取不到Uss,那就看Pss。

  3. adb shell dumpsys meminfo <package name>

  4. 我們擷取資料的目的 主要看我們應用的記憶體是否是一個一味上漲的趨勢。 正常情況下,每個介面的跳轉或者情境的切換,記憶體值都會被被動或主動地做回收,但如果有泄露就會出現一段持久性地上漲,雖然也許最後還是會被部分地回收。

  5. Memory Monitor查看記憶體風險

    1)即時查看APP的內部分配情況

    2)快速判斷APP是否由於GC(記憶體回收)操作造成卡頓

    3)快速判斷APP是否因為超出記憶體而產生崩潰

  6. 當一個記憶體短時間內發生掉落,我們可以認為發生了GC操作。

  7. Memory Monitor可以協助我們發現的問題:

    1)發現記憶體抖動的情境

    2)發現大記憶體對象分配的情境

    3)發現內部不斷增長的情境

    4)確定卡頓問題是否因為執行了GC操作

  8. MAT分析記憶體泄露

    MAT是一個JAVA Heaper分析器,可以用來分析記憶體泄露和減少內部才能消耗。分析Process showmap中的/dev/ashmem/dalvik-heap(deleted)一項所佔用的Memory。

    Android Studio和MAT組合,可以縮小記憶體問題的範圍以及最終定位具體所在的代碼。


大話APP測試2.0筆記——記憶體測試

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.