Android上的java,每个进程还是系统范围内的垃圾收集?
在日志中,当您看到以下内容时:
DEBUG/dalvikvm(####): GC freed 5052 objects / 577400 bytes in 54ms
这是否意味着它释放了我的应用程序自己创建的5052个对象,或者其中的一些5052对象可能是在后台运行的其他应用程序创建的对象
你可以在下面搜索框中键入要查询的问题!
在日志中,当您看到以下内容时:
DEBUG/dalvikvm(####): GC freed 5052 objects / 577400 bytes in 54ms
这是否意味着它释放了我的应用程序自己创建的5052个对象,或者其中的一些5052对象可能是在后台运行的其他应用程序创建的对象
# 1 楼答案
在Android上,每个应用程序都在自己的进程中运行,每个进程都在自己的虚拟机(VM)中运行。您查看的GC特定于您的应用程序,因此信息仅属于您的应用程序
Dalvik VM使用跟踪垃圾收集器(Mark & Sweep Approach)
# 2 楼答案
parens中的数字是垃圾收集器运行的进程号。您可以从shell执行ps操作,也可以检查DDMS以查找应用程序的进程号。按进程号筛选以查看运行应用程序的VM实例的垃圾收集情况