我的 Activity 的回调 onLowMemory() 不断被调用,因此为了调查这个问题,我在主游戏循环中编写了以下代码行:
ActivityManager activityManager = (ActivityManager) Activity.getActivity().getSystemService(Activity.ACTIVITY_SERVICE);
MemoryInfo mi = new MemoryInfo();
activityManager.getMemoryInfo(mi);
Log.v("Tag", "Testing mem: " + mi.availMem);
日志非常有趣:availMem 不断减少。现在为了确保对象被正确销毁,II 进行了 hprof 内存转储。正如预期的那样,被销毁的对象没有显示在这些转储中。
此外,availMem 应该是整个系统可用的内存,而不仅仅是我的应用程序,这使它更加奇怪。
任何人都可以帮助我了解这里发生了什么。任何帮助将非常感激。谢谢!