2011-07-30 54 views
2

我有一个运行服务的Android应用程序。Android服务内存使用情况

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

我使用DDMS分配跟踪器来查看它来自哪里,但所有的对象都小于500字节。

是否有意义?任何其他方式来跟踪我的应用程序的内存使用量?

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

谢谢。

+0

现在解决了吗?怎么做? – thecr0w

回答

2

它有道理吗?

它既没有意义也没有意义。您可以通过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%的时间内被销毁。