2012-06-16 21 views
23

我看遍了互聯網\ goolge \ stackoverflow並找不到完整和簡單的嚮導,可以向我解釋我怎麼才能找到如果我的Android應用程序有內存泄漏。 任何人都可以向我解釋如何去做,或者甚至更好地給我一個很好的指導呢?如何確定我的Android應用程序是否有內存泄漏?

我的應用程序收集有關電池的數據並將其保存到電話上的數據庫。 每次他們是在電池更換(ACTION_BATTERY_CHANGED)我檢查是否電池的百分比更改,在這種情況下,我保存一些數據。

此應用程序需要(25-30)MB RAM我認爲這對於這樣簡單的應用程序來說太多了。我懷疑它有內存泄漏。

回答

23
1

一般來說,如果你使用的應用程序,它的累積存儲器

12 MB ... 13.5 MB .. .15 MB ...想想積聚溼度的雲......等等

如果你看到這個模式比你的應用程序有內存泄漏。

另一種可能性是你沒有泄漏,但你只是使用太多的物體或太大的物體,或者你不能很好地節約物體。 考慮到位圖是非常昂貴的,因此在內存和資源有限的環境下處理位圖可能不會那麼微不足道。

2

當我面臨同樣的問題時,我發現LeakCanary。它有助於在運行時檢測調試版本中的內存泄漏,併爲堆棧跟蹤歷史記錄提供舒適的用戶界面。在這裏,您可以閱讀關於此工具的更多信息以檢測內存泄漏以及Android開發的其他一些有用提示:http://cases.azoft.com/4-must-know-tools-for-effective-android-development/。 希望它適合你和其他移動開發者!

相關問題