我有一个运行服务的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