【发布时间】:2013-11-24 22:23:10
【问题描述】:
如果有替代方案,在 C 语言中使用 exit(0) 不是一个好习惯,因为它不会释放资源。但是在 Java 中使用 System.exit(0) - 它在这里怎么样?在这种情况下可以信任垃圾收集器吗?
C语言:
exit(0);
Java:
System.exit(0)
【问题讨论】:
-
如果您要杀死应用程序,为什么还要关心垃圾收集?
-
这无关紧要 - 您即将终止应用程序。这将释放所有内存。那么为什么要关心垃圾回收呢?
-
@Sotirios Delimanolis - 不!在 Java android 中,你 KILL Activity,而不是应用程序
-
@user2991252 当您在 Android 中终止活动时,操作系统会处理内存管理。这不取决于程序员。
-
在大多数操作系统中,您不必担心任何一种情况。但是,除了内存之外,还有其他资源需要担心:共享内存段、互斥体/信号量、套接字等。这些并不总是由 C 中的 exit(0) 处理,但我不能代表 Java。
标签: java android c garbage-collection exit