有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Android上的java,每个进程还是系统范围内的垃圾收集?

在日志中,当您看到以下内容时:

DEBUG/dalvikvm(####): GC freed 5052 objects / 577400 bytes in 54ms

这是否意味着它释放了我的应用程序自己创建的5052个对象,或者其中的一些5052对象可能是在后台运行的其他应用程序创建的对象


共 (2) 个答案

  1. # 1 楼答案

    在Android上,每个应用程序都在自己的进程中运行,每个进程都在自己的虚拟机(VM)中运行。您查看的GC特定于您的应用程序,因此信息仅属于您的应用程序

    Dalvik VM使用跟踪垃圾收集器(Mark & Sweep Approach)

  2. # 2 楼答案

    parens中的数字是垃圾收集器运行的进程号。您可以从shell执行ps操作,也可以检查DDMS以查找应用程序的进程号。按进程号筛选以查看运行应用程序的VM实例的垃圾收集情况