我目前正在使用AndEngine开发一款安卓游戏。 到目前为止它真的很棒,除了一个我似乎无法弄清楚如何解决的问题。 每当我将游戏上传到我的手机(进行调试)并让它开始时,游戏玩法(移动)会冻结或变得非常缓慢几秒钟,并且LogCat中会出现“threadid = 4响应信号3”消息。 如果我然后关闭游戏并从手机本身再次启动它(不是用eclipse)它似乎完全没问题。阅读该消息,我从设备中提取日志,但我无法找到如何解决这个问题。有任何想法吗?这是我的应用程序的一部分:
JNI: CheckJNI is off; workarounds are off; pins=0; globals=160
DALVIK THREADS:
(mutexes: tll=0 tsl=0 tscl=0 ghl=0)
"main" prio=5 tid=1 TIMED_WAIT
| group="main" sCount=1 dsCount=0 obj=0x41858578 self=0x417cc1b8
| sysTid=21363 nice=0 sched=0/0 cgrp=apps handle=1075159292
| state=S schedstat=( 0 0 0 ) utm=33 stm=23 core=0
at java.lang.VMThread.sleep(Native Method)
at java.lang.Thread.sleep(Thread.java:1013)
at java.lang.Thread.sleep(Thread.java:995)
at org.andengine.engine.Engine.onTouch(Engine.java:434)
at android.view.View.dispatchTouchEvent(View.java:7386)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2211)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1954)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2211)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1954)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2211)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1954)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2228)
at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1471)
at android.app.Activity.dispatchTouchEvent(Activity.java:2424)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2176)
at android.view.View.dispatchPointerEvent(View.java:7571)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:3883)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3778)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3379)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3429)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3398)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3483)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3406)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3540)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3379)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3429)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3398)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3406)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3379)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5419)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5399)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5370)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5493)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:182)
at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:174)
at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:5472)
at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:5512)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
at android.view.Choreographer.doCallbacks(Choreographer.java:562)
at android.view.Choreographer.doFrame(Choreographer.java:530)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
at android.os.Handler.handleCallback(Handler.java:730)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5289)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
at dalvik.system.NativeStart.main(Native Method)
"GLThread 6183" prio=5 tid=14 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x41b077a8 self=0x40010610
| sysTid=21380 nice=0 sched=0/0 cgrp=apps handle=1073810016
| state=D schedstat=( 0 0 0 ) utm=304 stm=48 core=0
#00 pc 0001b420 /system/lib/libc.so (__ioctl+12)
#01 pc 0002c257 /system/lib/libc.so (ioctl+14)
#02 pc 0001b539 /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+140)
#03 pc 0001ba23 /system/lib/libbinder.so (android::IPCThreadState::waitForResponse(android::Parcel*, int*)+42)
#04 pc 0001bc2b /system/lib/libbinder.so (android::IPCThreadState::transact(int, unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+118)
#05 pc 00018489 /system/lib/libbinder.so (android::BpBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+30)
#06 pc 0002333f /system/lib/libgui.so
#07 pc 00026e81 /system/lib/libgui.so (android::Surface::dequeueBuffer(ANativeWindowBuffer**, int*)+92)
#08 pc 000271d1 /system/lib/libgui.so (android::Surface::hook_dequeueBuffer_DEPRECATED(ANativeWindow*, ANativeWindowBuffer**)+32)
#09 pc 00000734 /system/vendor/lib/libpvrANDROID_WSEGL.so
at com.google.android.gles_jni.EGLImpl.eglSwapBuffers(Native Method)
at android.opengl.GLSurfaceView$EglHelper.swap(GLSurfaceView.java:1142)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1528)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1242)
"UpdateThread" prio=5 tid=13 WAIT
| group="main" sCount=1 dsCount=0 obj=0x41b02be8 self=0x40074b50
| sysTid=21379 nice=0 sched=0/0 cgrp=apps handle=1073758872
| state=S schedstat=( 0 0 0 ) utm=102 stm=17 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x41b02dd0> (a java.lang.VMThread) held by tid=13 (UpdateThread)
at java.lang.Thread.parkFor(Thread.java:1205)
at sun.misc.Unsafe.park(Unsafe.java:325)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:159)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2019)
at org.andengine.engine.Engine$EngineLock.waitUntilCanUpdate(Engine.java:965)
at org.andengine.engine.Engine.onTickUpdate(Engine.java:573)
at org.andengine.engine.Engine$UpdateThread.run(Engine.java:858)
"SoundPool" prio=5 tid=12 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x41b02f40 self=0x40004b38
| sysTid=21377 nice=0 sched=0/0 cgrp=apps handle=1283308752
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0
#00 pc 0001c6ec /system/lib/libc.so (__futex_syscall3+8)
#01 pc 0000e824 /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
#02 pc 0000e884 /system/lib/libc.so (__pthread_cond_timedwait+64)
#03 pc 0006266f /system/lib/libmedia.so (android::SoundPool::run()+20)
#04 pc 0004f375 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+68)
#05 pc 000115e5 /system/lib/libutils.so
#06 pc 0000cb48 /system/lib/libc.so (__thread_entry+72)
#07 pc 0000ccc4 /system/lib/libc.so (pthread_create+208)
#08 pc 00001b34 <unknown>
at dalvik.system.NativeStart.run(Native Method)
"SoundPoolThread" prio=5 tid=11 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x41b02de8 self=0x400044e0
| sysTid=21378 nice=0 sched=0/0 cgrp=apps handle=1074219272
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0
#00 pc 0001c6ec /system/lib/libc.so (__futex_syscall3+8)
#01 pc 0000e824 /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
#02 pc 0000e884 /system/lib/libc.so (__pthread_cond_timedwait+64)
#03 pc 00062ad9 /system/lib/libmedia.so
#04 pc 00062b2b /system/lib/libmedia.so (android::SoundPoolThread::read()+16)
#05 pc 00062cd7 /system/lib/libmedia.so (android::SoundPoolThread::run()+14)
#06 pc 0004f375 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+68)
#07 pc 000115e5 /system/lib/libutils.so
#08 pc 0000cb48 /system/lib/libc.so (__thread_entry+72)
#09 pc 0000ccc4 /system/lib/libc.so (pthread_create+208)
#10 pc 000014dc <unknown>
at dalvik.system.NativeStart.run(Native Method)
"Binder_2" prio=5 tid=10 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x41ada858 self=0x4167d840
| sysTid=21375 nice=0 sched=0/0 cgrp=apps handle=1097324024
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0
#00 pc 0001b41c /system/lib/libc.so (__ioctl+8)
#01 pc 0002c257 /system/lib/libc.so (ioctl+14)
#02 pc 0001b539 /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+140)
#03 pc 0001bcd7 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+154)
#04 pc 0001fae9 /system/lib/libbinder.so
#05 pc 00011af1 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+216)
#06 pc 0004f375 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+68)
#07 pc 000115e5 /system/lib/libutils.so
#08 pc 0000cb48 /system/lib/libc.so (__thread_entry+72)
#09 pc 0000ccc4 /system/lib/libc.so (pthread_create+208)
#10 pc 0000283c <unknown>
at dalvik.system.NativeStart.run(Native Method)
"Binder_1" prio=5 tid=9 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x41ad9558 self=0x4167d0a0
| sysTid=21374 nice=0 sched=0/0 cgrp=apps handle=1097066864
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0
#00 pc 0001b41c /system/lib/libc.so (__ioctl+8)
#01 pc 0002c257 /system/lib/libc.so (ioctl+14)
#02 pc 0001b539 /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+140)
#03 pc 0001bcd7 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+154)
#04 pc 0001fae9 /system/lib/libbinder.so
#05 pc 00011af1 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+216)
#06 pc 0004f375 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+68)
#07 pc 000115e5 /system/lib/libutils.so
#08 pc 0000cb48 /system/lib/libc.so (__thread_entry+72)
#09 pc 0000ccc4 /system/lib/libc.so (pthread_create+208)
#10 pc 0000209c <unknown>
at dalvik.system.NativeStart.run(Native Method)
"FinalizerWatchdogDaemon" daemon prio=5 tid=8 WAIT
| group="system" sCount=1 dsCount=0 obj=0x41ad6448 self=0x4163de10
| sysTid=21373 nice=0 sched=0/0 cgrp=apps handle=1097065056
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x418606e0> (a java.lang.Daemons$FinalizerWatchdogDaemon)
at java.lang.Object.wait(Object.java:364)
at java.lang.Daemons$FinalizerWatchdogDaemon.waitForObject(Daemons.java:230)
at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:207)
at java.lang.Thread.run(Thread.java:841)
"FinalizerDaemon" daemon prio=5 tid=7 WAIT
| group="system" sCount=1 dsCount=0 obj=0x41ad6298 self=0x4163d4c8
| sysTid=21372 nice=0 sched=0/0 cgrp=apps handle=1097062680
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x41849568> (a java.lang.ref.ReferenceQueue)
at java.lang.Object.wait(Object.java:401)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:102)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:73)
at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:170)
at java.lang.Thread.run(Thread.java:841)
"ReferenceQueueDaemon" daemon prio=5 tid=6 WAIT
| group="system" sCount=1 dsCount=0 obj=0x41ad6130 self=0x4163bfe8
| sysTid=21371 nice=0 sched=0/0 cgrp=apps handle=1097060336
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x41849490>
at java.lang.Object.wait(Object.java:364)
at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:130)
at java.lang.Thread.run(Thread.java:841)
"Compiler" daemon prio=5 tid=5 VMWAIT
| group="system" sCount=1 dsCount=0 obj=0x41ad57f8 self=0x4163b8e8
| sysTid=21370 nice=0 sched=0/0 cgrp=apps handle=1097053856
| state=S schedstat=( 0 0 0 ) utm=21 stm=8 core=0
#00 pc 0001c6ec /system/lib/libc.so (__futex_syscall3+8)
#01 pc 0000e824 /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
#02 pc 0000e884 /system/lib/libc.so (__pthread_cond_timedwait+64)
#03 pc 00073227 /system/lib/libdvm.so
#04 pc 00054491 /system/lib/libdvm.so
#05 pc 0000cb48 /system/lib/libc.so (__thread_entry+72)
#06 pc 0000ccc4 /system/lib/libc.so (pthread_create+208)
#07 pc 000068e4 <unknown>
at dalvik.system.NativeStart.run(Native Method)
"JDWP" daemon prio=5 tid=4 VMWAIT
| group="system" sCount=1 dsCount=0 obj=0x41ad5710 self=0x4163c940
| sysTid=21369 nice=0 sched=0/0 cgrp=apps handle=1097058040
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0
#00 pc 0001b56c /system/lib/libc.so (select+20)
#01 pc 00060edf /system/lib/libdvm.so
#02 pc 00063a19 /system/lib/libdvm.so
#03 pc 00054491 /system/lib/libdvm.so
#04 pc 0000cb48 /system/lib/libc.so (__thread_entry+72)
#05 pc 0000ccc4 /system/lib/libc.so (pthread_create+208)
#06 pc 0000793c <unknown>
at dalvik.system.NativeStart.run(Native Method)
"Signal Catcher" daemon prio=5 tid=3 RUNNABLE
| group="system" sCount=0 dsCount=0 obj=0x41ad5618 self=0x4dbaf3a0
| sysTid=21368 nice=0 sched=0/0 cgrp=apps handle=1304097112
| state=R schedstat=( 0 0 0 ) utm=2 stm=2 core=0
at dalvik.system.NativeStart.run(Native Method)
"GC" daemon prio=5 tid=2 VMWAIT
| group="system" sCount=1 dsCount=0 obj=0x41ad5538 self=0x4dbae9a0
| sysTid=21367 nice=0 sched=0/0 cgrp=apps handle=1304100128
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0
#00 pc 0001c6ec /system/lib/libc.so (__futex_syscall3+8)
#01 pc 0000e824 /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
#02 pc 0000e884 /system/lib/libc.so (__pthread_cond_timedwait+64)
#03 pc 00071eb7 /system/lib/libdvm.so
#04 pc 00054491 /system/lib/libdvm.so
#05 pc 0000cb48 /system/lib/libc.so (__thread_entry+72)
#06 pc 0000ccc4 /system/lib/libc.so (pthread_create+208)
#07 pc 0000b99c <unknown>
at dalvik.system.NativeStart.run(Native Method)
NATIVE THREADS:
"AudioTrack" sysTid=21486 nice=-16 sched=0/0 cgrp=apps
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0
由于没有与我的应用程序直接相关的行,我无法找出错误发生的位置。 AndEngine有什么问题吗,或者这与通过eclipse上传应用程序有什么关系?
提前致谢