我刚刚开发了Android应用程序,它是一款游戏,但我没有使用3D图形。这是一个棋盘游戏,我在屏幕上移动ImageViews。由于现在我还没有在移动设备上测试它,只是在仿真器上进行测试。问题是,当我在三星Galaxy S2手机上运行我的应用程序时(双矿:),CPU使用率高达85%,该死的手机升温:当我杀死进程时(完全关闭应用程序,所以它不会在后台运行)它下降到0 :)Android。 CPU使用率太高
我甚至不知道从哪里开始解决问题。你们能给我一个主意吗?
我只能想到的这这件事会发生原因有两个,但他们可能是愚蠢的原因:1,我有2个线程,每个线程具有无限while循环
- 与UI线程例外它循环不定,并查看每个线程的消息队列中是否有消息。情况会是这样吗?我应该延迟几毫秒这些循环,所以他们不跑得这么快?
- 我还在屏幕上使用了大约20-25个imageViews,我通过触摸移动。那些与这有什么关系?
有没有办法从模拟器检查内存泄漏或SOMETHING ...?
如果有人可以提供一些建议,我应该如何处理这个问题,我会很感激。
一个好的开始可能是MemoryAnalyzer:http://www.eclipse.org/mat/ – noli 2012-04-27 09:42:17