Android服务内存使用情况

时间:2011-07-30 18:26:36

标签: android memory service

我有一个运行服务的Android应用。

当我在Android设置中查看“正在运行的应用”菜单时,我看到我的应用内存使用情况 在9-16MB之间。

我使用DDMS Allocation Tracker来查看它的来源,但所有对象都少于500个字节。

有意义吗?有没有其他方法来跟踪我的应用程序的内存使用情况?

此外,只要服务正在运行,我就会打开一个SQLite数据库。这对记忆有影响吗?

感谢。

1 个答案:

答案 0 :(得分:2)

  

有意义吗?

它既没有意义也没有意义。您可以以5000的增量轻松地以500的增量获得“9-16MB”。此外,AFAIK分配跟踪器不会跟踪所有内容(例如,3.0之前的环境中的位图)。

  

跟踪我的应用内存使用情况的其他任何方式?

转储堆(例如,使用DDMS中的Dump HPROF文件工具栏按钮)并使用Eclipse的MAT插件检查结果。在2011年Google I | O大会上有一个关于此问题的演示文稿 - the YouTube video is online。您可以使用它来跟踪内存泄漏。

  

这对记忆有影响吗?

有些人,我确定。

另一个问题实际上是服务本身。您的目标应该是尽可能少地在内存中提供该服务,并且只有在它积极地为用户提供持续价值时。理想情况下,您的服务在99%的时间内都会被销毁。