Android】開發優化之——調優工具:dump hprof file 檢視記憶體情況,找到記憶體洩露,androidhprof
1.開啟Eclipse
2.選擇 Help->Install New Software;
3.在Work with中新增站點:download.eclipse.org/mat/1.0/update-site/(這個地址可能會變化,但是新的地址可以在官方網站上找到:www.eclipse.org/mat/downloads.php )
4.生成.hprof檔案:插入SD卡(Android機器很多程式都需要插入SD卡),並將裝置連線到PC,在Eclipse中的DDMS中選擇要測試的程序,然後點選Update Heap 和Dump HPROF file兩個Button。
.hprof 檔案會自動儲存在SD卡上,把 .hprof 檔案拷貝到PC上的\ android-sdk-windows\tools目錄下。這個由DDMS生成的檔案不能直接在MAT開啟,需要轉換。
執行cmd開啟命令列,cd到\ android-sdk-windows\tools所在目錄,並輸入命令hprof-conv xxxxx.hprof yyyyy.hprof,其中xxxxx.hprof為原始檔案,yyyyy.hprof為轉換過後的檔案。轉換過後的檔案自動放在android-sdk-windows\tools 目錄下。
OK,到此為止,.hprof檔案處理完畢,可以用來分析記憶體洩露情況了。
5.開啟MAT:
在Eclipse中點選Windows->Open Perspective->Other->Memory Analysis
6.匯入.hprof檔案
在MAT中點選 File->Open File,瀏覽到剛剛轉換而得到的.hprof檔案,並Cancel掉自動生成報告,點選Dominator Tree,並按Package分組,選擇自己所定義的Package 類點右鍵,在彈出選單中選擇List objects->With incoming references。
這時會列出所有可疑類,右鍵點選某一項,並選擇Path to GC Roots->exclude weak/soft references,會進一步篩選出跟程式相關的所有有記憶體洩露的類。據此,可以追蹤到程式碼中的某一個產生洩露的類。
相關推薦
Android】開發優化之——調優工具:dump hprof file 檢視記憶體情況,找到記憶體洩露,androidhprof
如何用MAT來分析,前提是Android開發和測試的工具安裝完整,SDK,Eclipse: 1.開啟Eclipse 2.選擇 Help->Install New Software; 3.在Work with中新增站點:download.eclipse.org/mat/1.0/update-site/(這
開發優化之——調優工具:dump hprof file 檢視記憶體情況,找到記憶體洩露,androidhprof
雖說知道一般性的開發android應用需要注意的問題,可是也有水平參差不齊的情況,特別是維護程式碼,如果記憶體佔用大,記憶體溢位嚴重,又怎麼解決呢? -- 通過DDMS把heap抓出來分析 1、開啟DDMS 2、選中需要檢視的程式,並且點選Update Hea
【Android】開發優化之——調優工具:TrackView,Method Profiling
TraceView介面資訊介紹 TraceView介面包括時間面板和方法面板 (1) 時間面板(Timeline Panel) 時間面板展示了每個執行緒的執行情況,其中的[1]main即為ui主執行緒。 移動到某個位置可以檢視該點對應的方法的執行資訊,點選方法面板則會選中相應的方法。 可以左鍵按住不放選中區域
Android開發優化之的強引用、軟引用、弱引用的使用
本文轉載至:http://www.jianshu.com/p/8488079a939b 引言 早在JDK1.2,Java就把物件的引用分為四種級別,從而使程式能更加靈活的控制物件的生命週期。這四種級別由高到低依次為:強引用、軟引用、弱引用和虛引用。 但是平時我們的程式碼中似乎很
android電量優化之Battery Historian工具使用
前幾天寫了關於androidAPP效能優化總結的文章,還沒有看的話可以看一下,這文章提到了電量優化,android耗電分析所用到的工具battery-historian,這裡做一個總結. 在 Android5.0 以前,在應用中測試電量消耗比較麻煩,也不準確,5.0 之後專門引入了一個獲取裝置上
《Oracle PL/SQL例項精講》學習筆記26——優化PL/SQL(第一部分——PL/SQL調優工具)
本章內容: 1. PL/SQL調優工具(使用PL/SQL剖析器API、使用跟蹤API、使用PL/SQL層次式剖析器) 2. PL/SQL優化級別 3. 子程式內聯 程式碼如下: 1. 檢視PLSQL_DEBUG引數 SQL> show parame
【轉載】JVM調優工具的使用(jps,jstat,jstack,jmap,jhat)
文章目錄 一,jps命令 二 jstat命令 1 類載入統計: 2 編譯統計 3 垃圾回收統計 三 jstack命令 四 jmap 原文連結:http://bl
Android系統性能調優工具介紹
經作者授權,發表Tieto某青年牛的一篇《程式設計師》大作。Android系統性能調優工具介紹在軟體開發過程中,想必很多讀者都遇到過系統性能問題。而解決系統性能問題的幾個主要步驟是:測評:對系統進行大量
Xcode8.3.2 效能調優工具 Instruments 之 TimeProfiler -- 揪出頁面卡頓利器的使用方法
廢話不多說,直接上乾貨:(切記兩點:1、真機除錯。2、應用程式執行一定要釋出配置而不是除錯配置) 第一步:找到 TimeProfiler (兩種方法) 1、開啟專案 2、開啟專案 第二步:TimeProfiler 配置 第三步:找到耗時的函式 從圖片中可以看出最耗時的是-
Android逆向基礎筆記—Android NDK開發2之Windows下的gcc手動編譯(交叉連編譯)和利Linux Ubuntu系統下的交叉工具鏈手動編譯
一、交叉工具鏈 這些工具都在NDK的路徑下:E:\Android\android-ndk-r13\toolchains\arm-linux-androideabi-4.9\prebuilt\windo
[Android] Android開發優化之——使用軟引用和弱引用
Java從JDK1.2版本開始,就把物件的引用分為四種級別,從而使程式能更加靈活的控制物件的生命週期。這四種級別由高到低依次為:強引用、軟引用、弱引用和虛引用。這裡重點介紹一下軟引用和弱引用。如果一個物件只具有軟引用,那麼如果記憶體空間足夠,垃圾回收器就不會回收它;如果記憶體
[Android] Android開發優化之——對介面UI的優化(2)
在一個應用程式中,一般都會存在多個Activity,每個Activity對應著一個UI佈局檔案。一般來說,為了保持不同視窗之間的風格統一,在這些UI佈局檔案中,幾乎肯定會用到很多相同的佈局。如果我們在每個xml檔案中都把相同的佈局都重寫一遍,一個是程式碼冗餘,可讀性
Android效能調優工具TraceView介紹 (六)
Android效能優化系列彙總已完成,包括: Android自帶的TraceView堪比java的效能調優工具visualvm執行緒檢視,可以方便的檢視執行緒的執行情況,某個方法執行時間、呼叫次數、在總體中的佔比等,從而定位效能點。1、生成日誌
Perf -- Linux下的系統性能調優工具,第 1 部分【轉】
出了 結構 頻率 重復 左右 points return time das 轉自:https://www.ibm.com/developerworks/cn/linux/l-cn-perf1/ Perf 簡介 Perf 是用來進行軟件性能分析的工具。 通過它,應用程序
【Android】開發乾貨-技術分享之AndResGuard資源混淆的使用
AndResGuard是微信團隊的開源專案,它的作用就是將apk中的資原始檔如layout等檔名進行混淆處理,增加逆向難度。 1.下載AndResGuard 2.下載完成後,修改配置檔案,此處因
Android開發優化之——對介面UI的優化(3)
本篇博文主要討論一下複雜介面中常用的一種技術——介面延遲載入技術。 有時候,我們的頁面中可能會包含一些佈局,這些佈局預設是隱藏的,當用戶觸發了一定的操作之後,隱藏的佈局才會顯示出來。比如,我們有一個Activity用來顯示好友的列表,當用戶點選Menu中的“匯入”以後
java效能優化權威指南---java效能調優工具
目錄 1、作業系統的工具和分析 Unix上,sar(system accounting report) vmstat、iostat、prstat Windows上,typeperf 1)CPU使用率(vmstat) CPU
Android性能優化之ListView緩存機制
ner data b2c 模式 ret hold ren state err 要想優化ListView首先要了解它的工作原理,列表的顯示須要三個元素:ListView、Adapter、顯示的數據。 這裏的Adapter就是用到了適配器模式,無論傳入的是什麽View在Li
Android性能優化之利用Rxlifecycle解決RxJava內存泄漏
Android 前言: 其實RxJava引起的內存泄漏是我無意中發現了,本來是想了解Retrofit與RxJava相結合中是如何通過適配器模式解決的,結果卻發現了RxJava是會引起內存泄漏的,所有想著查找一下資料學習一下如何解決RxJava引起的內存泄漏,就查到了利用Rx
使用Android Studo開發NDK之Gradle的配置(能debug C代碼)
lose service ng- services lba new import dev android 配置: 用的版本號是AS1.5(也能夠嘗試更高版本號)。 Gradle地址是distributionUrl=https\://services.gradle.org