我有一個運行服務的Android應用程序。Android服務內存使用情況
當我查看Android設置中的「正在運行的應用程序」菜單時,我看到我的應用程序內存使用量爲012至之間9-16MB。
我使用DDMS分配跟蹤器來查看它來自哪裏,但所有的對象都小於500字節。
是否有意義?任何其他方式來跟蹤我的應用程序的內存使用量?
另外,只要服務正在運行,我就會打開一個SQLite數據庫。這也是對記憶的影響嗎?
謝謝。
我有一個運行服務的Android應用程序。Android服務內存使用情況
當我查看Android設置中的「正在運行的應用程序」菜單時,我看到我的應用程序內存使用量爲012至之間9-16MB。
我使用DDMS分配跟蹤器來查看它來自哪裏,但所有的對象都小於500字節。
是否有意義?任何其他方式來跟蹤我的應用程序的內存使用量?
另外,只要服務正在運行,我就會打開一個SQLite數據庫。這也是對記憶的影響嗎?
謝謝。
它有道理嗎?
它既沒有意義也沒有意義。您可以通過500的增量獲得「9-16MB」,就像您可以以5000的增量一樣容易到達「9-16MB」。此外,AFAIK分配跟蹤器不會跟蹤所有內容(例如,在3.0之前的環境下的位圖)。
任何其他方式來跟蹤我的應用程序的內存使用情況?
轉儲你的堆(例如,使用DDMS中的Dump HPROF File工具欄按鈕)並用Eclipse的MAT插件檢查結果。在2011年Google I | O會議上有關於此的演講 - the YouTube video is online。您可以使用它來跟蹤內存泄漏。
這是否也影響記憶?
一些,我敢肯定。
另一個問題實際上是服務本身。您的目標應該是儘可能少地將該服務存儲在內存中,並且只有在積極爲用戶提供持續價值的時候。理想情況下,您的服務在99%的時間內被銷燬。
現在解決了嗎?怎麼做? – thecr0w