GC_CONCURRENT已释放

时间:2013-08-14 17:55:48

标签: java android garbage-collection

您好我是java编码的新手,我正在制作应用程序,但我遇到了这个问题:

GC_CONCURRENT freed 1151K, 19% free 5594K/6868K, paused 4ms+5ms, total 86ms

我做了一些搜索,发现我必须做垃圾收集,有人可以告诉我垃圾收集是如何工作的。 E.g什么时候对象有资格进行垃圾收集,请告诉我是否有办法强迫它。

我使用了Allocation Tracker,它说[]字节分配最多。请帮助我,如果我不解决,我不会看到自我编程的进展。

编辑:有人可以帮我解决GC_CONCURRENT错误,我不知道如何解决它。

3 个答案:

答案 0 :(得分:0)

Java具有自动垃圾收集功能。您无需管理它,但可以节省应用程序的高性能。

有时你可以使用finalize() - 方法帮助垃圾收集。

每次在Java中创建对象时,它都会进入称为堆的内存区域。调用Java堆 垃圾收集堆。无法强制进行垃圾收集。垃圾收集器运行在低位 记忆情境。当它运行时,它释放由无法访问的对象分配的内存。垃圾 collector在低优先级守护程序(即后台)线程上运行。你可以很好地问垃圾收集器 通过致电System.gc()来收集垃圾,但你不能强迫它

答案 1 :(得分:0)

垃圾收集不是一般的担心,但你应该知道它正在发生。 有一个线程(垃圾收集器)不断监视您的应用程序。当没有任何引用时,对象就符合条件。 不要担心强制垃圾收集,担心不要引用你不需要的对象。将引用设置为null。

如果您遇到内存错误,可能是因为您正在处理大量数据或存在某种无限回归问题。

答案 2 :(得分:-5)

System.gc();

将强制垃圾收集

http://docs.oracle.com/javase/6/docs/api/java/lang/System.html Javadoc说

static void gc() 
          Runs the garbage collector.