当我停止应用程序的一项服务时,内存使用量与该服务运行时的内存使用量相同。如果我不启动这项服务,它就不会增加。 为什么 Android 在我的主要 Activity 停止时不释放服务的内存?
最佳答案
Android 不会为每个对象分配以及包括 Context 对象(Activity、Service ...)的对象分配系统内存。
由于每个 Android 应用程序都在其 DVM 上运行,因此 Android 会根据操作系统状态、可用内存和其他因素为该 VM 提供特定的内存。
应用程序将使用该内存,如果KVM请求更多内存,操作系统将尝试为其分配更多内存,因此在Linux进程级别上,您看不到对象分配效果。事实上,我怀疑你能否在任何现代虚拟机上看到这一点。
释放也是如此。
看看这里:JVM Memory它不是 KVM,但它们具有相同的概念。
关于java - Android服务停止,内存和以前一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16501344/