Java和调用垃圾收集器

时间:2013-12-20 20:36:07

标签: java android memory-leaks garbage-collection

我正在制作一些应用程序(服务器和客户端)。我有一点需要调用System.gc();

但我发现这里Why is it bad practice to call System.gc()?不建议拨打gc。

如果我使用System.gc(),程序运行在~80MB内存,但没有gc,内存增长到~600-700MB,我需要在Android手机上运行

还有其他清除记忆的方法吗?

由于

编辑:看到评论,在我测试的Android中(移植1小时前),使用System.gc()运行良好,我没有测试没有它

编辑2:以下是5分钟后在桌面上运行的程序的两张照片:

使用System.gc():http://imgur.com/M9yMBei 没有System.gc():http://i.imgur.com/4qb2Ylc.png

编辑3:哇!! 1发布之前这个应用程序正在使用大约2GB的RAM!

1 个答案:

答案 0 :(得分:2)

这是不好的做法,因为通常运行时比您更了解系统的状态。如果RAM可用,为什么不使用它?如果RAM不可用,系统最早会提前GC。

在任何情况下,调用System.gc()只是一个提示,我怀疑随着时间的推移,只会更容易被忽略。