我创建了一个创建后台服务的应用程序。当我关闭应用程序时,服务正在运行,当我返回时将其恢复为“bind”(bindService)以进行通信。
问题是当我关闭应用程序并重新进入时,它会显着增加使用中的内存。花费20Mb - > 24Mb,如果我出去24Mb - > 28Mb,28Mb - > 30Mb ......因此打破了应用程序。我没有位图。如果足够使用静态数组但我已经测试过并且不是问题的根源。
当我完全关闭应用程序(包括服务)时,调用System.exit(0)并清理所有内存,但当然,当我关闭服务时,我可以调用该服务。我试图调用垃圾收集器(System.gc()),如果我注意到内存减少关闭,但当你再次打开应用程序时,内存会增加。
我非常感谢帮助,再见!
答案 0 :(得分:1)
考虑到我们的信息,我怀疑问题是活动泄漏。 你能检查两件事: