我正在制作一些应用程序(服务器和客户端)。我有一点需要调用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!
答案 0 :(得分:2)
这是不好的做法,因为通常运行时比您更了解系统的状态。如果RAM可用,为什么不使用它?如果RAM不可用,系统最早会提前GC。
在任何情况下,调用System.gc()
只是一个提示,我怀疑随着时间的推移,只会更容易被忽略。