我正在使用libgdx库在java(Eclipse)中运行程序。 现在,我已经意识到当程序运行大约一分钟时 FPS从固体60下降到10到40之间的弹跳。程序中分配的内存也在不断增加。但是堆大小似乎没有上升。
我的问题是,为什么应用程序没有将分配的内存返回给OS(窗口),以及分配的内存和FrameRate之间是否存在相关性。
以下是jconsole数据摘录图片的链接:
http://de.tinypic.com/view.php?pic=jj9z6u&s=5#.UtFp9bSFd7s
(堆栈溢出阻止我直接上传图片...)
答案 0 :(得分:0)
您可能正在为垃圾收集器创建大量垃圾来收集。
使用Eclipse或ADT中的堆分析工具来调试问题。有关提示,请参阅http://android-developers.blogspot.com/2011/03/memory-analysis-for-android.html。