我是Android新手。標準的Java內存和性能分析工具可以與Android一起使用嗎?適用於Android的內存/性能分析工具
例如,我們可以創建一個堆轉儲文件並分析Android應用程序嗎?或者使用Eclipse TPTP分析內存/性能?
如果不可能爲此使用標準的Java工具,那麼是否有用於內存和性能分析的Android特定工具?
我是Android新手。標準的Java內存和性能分析工具可以與Android一起使用嗎?適用於Android的內存/性能分析工具
例如,我們可以創建一個堆轉儲文件並分析Android應用程序嗎?或者使用Eclipse TPTP分析內存/性能?
如果不可能爲此使用標準的Java工具,那麼是否有用於內存和性能分析的Android特定工具?
如果您使用Eclipse,DDMS應該可以幫助您完成大部分所需的工作。
DDMS - Tracking memory allocation of objects
DDMS提供了一個功能來跟蹤被分配給 存儲器對象和以查看哪個類和線程分配 對象。這使您可以實時跟蹤在您的應用程序中執行某些操作時分配的對象是 。 此信息對於評估可能會影響應用程序性能的內存使用情況很有用。
爲跟蹤對象的內存分配:
在設備選項卡,選擇您要啓用 分配跟蹤的過程。在分配跟蹤器選項卡中,單擊開始跟蹤按鈕開始分配跟蹤。在這一點上, 你在你的應用程序中做的任何事情都將被跟蹤。單擊獲取 分配以查看自從您單擊開始追蹤按鈕上的 以來已分配的對象列表。您可以再次單擊獲取 分配以追加到已分配 的新對象列表。若要停止跟蹤或清除數據並重新開始,請點擊停止跟蹤按鈕 。點擊列表中的特定行到 查看更多詳細信息,如 分配對象的代碼的方法和行號。
市場上有現有的性能曲線工具。
通用專用工具,如SystemPanel app - https://play.google.com/store/apps/details?id=nextapp.systempanel.r1&hl=en。它列出了諸如CPU,內存和網絡等性能。
專業工具,如TaskSpy - https://play.google.com/store/apps/details?id=com.skstudio.tooldelux。它列出了系統範圍的性能,並使您能夠分析一個特定的運行過程。它的真正有用之處在於,它使您能夠從遠程PC/mac/linux計算機上看到性能,而目標測試應用程序仍然可以在手機/平板電腦上運行前景 - 它不具有破壞性。
直接使用標準Java工具是不可能的。但是,如果我們從Android應用創建Heapdump,並在將其轉換爲Java SE HPROF格式後,我們可以使用Eclipse內存分析器分析內存。
http://android-developers.blogspot.fr/2011/03/memory-analysis-for-android.html
JProfiler可以閱讀Android的直接堆轉儲,而無需將其轉換爲JSE格式。
免責聲明:我公司開發JProfiler。
此外,如果您進行移動Web開發,您可能會發現Chrome遠程調試器很有用。 https://developers.google.com/chrome/mobile/docs/debugging – 2012-07-16 13:08:32
看來我們不能使用標準的Java工具進行內存分析,所以您指出可以使用DDMS。 http://android-developers.blogspot.fr/2011/03/memory-analysis-for-android.html – 18bytes 2012-07-17 05:24:42