java - Android服务停止,内存和以前一样

标签 java android memory service

当我停止应用程序的一项服务时,内存使用量与该服务运行时的内存使用量相同。如果我不启动这项服务,它就不会增加。 为什么 Android 在我的主要 Activity 停止时不释放服务的内存?

最佳答案

Android 不会为每个对象分配以及包括 Context 对象(Activity、Service ...)的对象分配系统内存。

由于每个 Android 应用程序都在其 DVM 上运行,因此 Android 会根据操作系统状态、可用内存和其他因素为该 VM 提供特定的内存。

应用程序将使用该内存,如果KVM请求更多内存,操作系统将尝试为其分配更多内存,因此在Linux进程级别上,您看不到对象分配效果。事实上,我怀疑你能否在任何现代虚拟机上看到这一点。

释放也是如此。

看看这里:JVM Memory它不是 KVM,但它们具有相同的概念。

关于java - Android服务停止,内存和以前一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16501344/

相关文章:

C++,静态检测具有不同地址的基类?

java - 以 %.7f 格式创建时间戳字符串的更快方法

java - 如何使用Log4j编辑和打印webelement的规范?

java - AsyncTask 执行一次(仅当应用程序启动时)

android - onPageFinished 有时不调用 Android WebView

java - 是由 jvm 限制的 C 代码在 JNA(或 JNI)中分配的内存(参数 -Xmx 或架构 32/64)

java - Html Form无需提交自动调用Servlet

java - 使用 cgexec vs cgroup.procs 使用 cgroups 进行内存核算

java - CamcorderProfile.videoCodec 返回错误值

c# - Visual Studio 2010 内存消耗