我已经尝试在Android Studio / Eclipse中调试我的应用程序,并且使用我的三星note3产生相同的结果,非常慢的调试(每秒1-15帧)。有趣的是,没有附加到应用程序的调试器,应用程序运行得很好(每秒60帧)。
我删除了Android Studio中的所有断点(从头开始安装),与eclipse相同,都产生相同的行为。我已经重新创建了几次现有的应用程序项目,没有运气。我也删除了所有表达式,没有运气。
我使用和不使用调试器进行了方法跟踪。时间/调用计数看起来非常相似,并且没有任何明显的异常值。
当我关闭调试时,应用程序立即恢复到60fps。
我打算让我的朋友在他的设备(一部HTC手机)上试一试,看看他是否可以重现。我应该提一下,我确实认为我在应用程序中使用调试器造成了额外的开销,因为我创建了一个简单的open gl表面,并且它调试得很好。我还要提一下,我已经尝试了3种不同的USB线,并且都产生了相同的结果。
我的应用是多线程的,并且使用大型对象池。
有什么想法吗?
答案 0 :(得分:2)
如果您在Java代码中进行大量计算,可能会出现这种情况。
正常运行时,Dalvik使用" fast"执行代码。解释器,并使用JIT编译任何热门部分。当调试器附加时,它只在" debug"中运行。翻译,速度慢得多。
某些操作,例如"跳过",可能会非常痛苦。 (" Run to line"应该更快地执行。)