安卓游戏偶尔出现卡顿问题

5
我正在用Java制作一个简单的Android游戏。我发现每隔20-40秒会出现一些恼人的卡顿。起初我认为这是由垃圾收集器引起的,但是当我检查我的LogCat时,我发现在游戏卡顿时没有进行垃圾收集。
我在游戏开始卡顿时标记了日志,并发现几乎每次都会出现以下日志条目:
"W/qdhwcomposer(209): Excessive delay reading vsync: took 47 ms"
正如它所说,这里有一个延迟(通常大于45ms),我认为这就是我感觉到的卡顿。有谁知道这个问题或者如何避免这些延迟吗?
以下是游戏卡顿时LogCat的两个片段:
07-29 15:11:50.196: D/BatteryService(692): update start
07-29 15:11:50.206: D/BatteryService(692): level:80, scale:100, status:2, health:2, present:true, voltage: 4121, temperature: 355, technology: Li-ion, AC powered:false, USB powered:true, Wireless powered:false, icon:17303554, invalid charger:0, online:4, charge type:1, current avg:460
07-29 15:11:50.206: D/BatteryService(692): Sending ACTION_BATTERY_CHANGED.
07-29 15:11:50.216: D/STATUSBAR-BatteryController(1082): onReceive() - ACTION_BATTERY_CHANGED
07-29 15:11:50.216: D/STATUSBAR-BatteryController(1082): onReceive() - BATTERY_STATUS_CHARGING:
07-29 15:11:50.226: D/HeadsetStateMachine(18054): Disconnected process message: 10
07-29 15:11:50.236: W/qdhwcomposer(209): Excessive delay reading vsync: took 47 ms
07-29 15:11:50.236: D/STATUSBAR-IconMerger(1082): checkOverflow(288), More:true, Req:true Child:5

07-29 15:12:00.176: W/qdhwcomposer(209): Excessive delay reading vsync: took 49 ms
07-29 15:12:00.226: D/BatteryService(692): update start
07-29 15:12:00.226: D/BatteryService(692): level:80, scale:100, status:2, health:2, present:true, voltage: 4065, temperature: 355, technology: Li-ion, AC powered:false, USB powered:true, Wireless powered:false, icon:17303554, invalid charger:0, online:4, charge type:1, current avg:460
07-29 15:12:00.226: D/BatteryService(692): Sending ACTION_BATTERY_CHANGED.
07-29 15:12:00.236: D/STATUSBAR-BatteryController(1082): onReceive() - ACTION_BATTERY_CHANGED
07-29 15:12:00.236: D/STATUSBAR-BatteryController(1082): onReceive() - BATTERY_STATUS_CHARGING:
07-29 15:12:00.236: D/HeadsetStateMachine(18054): Disconnected process message: 10



顺便说一下,我在我的三星Galaxy S4(GT-I9505)上使用Android 4.3进行了测试。

谢谢
Geru


BattleCamp也有这个问题,真的很烦人,因为在刷卡时有时间限制。我也有S4,也许只是这部手机的问题?! - TWiStErRob
GERU,你找到解决方法了吗? - george
据我记得,这实际上是一个“三星 Galaxy S4 特定的 bug”,而我在我的新手机(三星 Galaxy A5)上并没有遇到这个问题。 但是它们的安卓版本不同,所以我不能百分之百确定这是否与硬件有关。 不幸的是,我的 S4 于去年损坏了,无法再进行测试。 - Geru
1个回答

0

我创建了一个.trace文件并读取了它,但我不太确定如何在其中找到我的延迟原因。 - Geru

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接