我正在用Java制作一个简单的Android游戏。我发现每隔20-40秒会出现一些恼人的卡顿。起初我认为这是由垃圾收集器引起的,但是当我检查我的LogCat时,我发现在游戏卡顿时没有进行垃圾收集。
我在游戏开始卡顿时标记了日志,并发现几乎每次都会出现以下日志条目:
"W/qdhwcomposer(209): Excessive delay reading vsync: took 47 ms"
正如它所说,这里有一个延迟(通常大于45ms),我认为这就是我感觉到的卡顿。有谁知道这个问题或者如何避免这些延迟吗?
以下是游戏卡顿时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