Эти события были недавно связаны с звонком mSurfaceHolder.unlockCanvasAndPost(canvas);
Привет, ребята, работали над этим приложением какое-то время и время от времени оно просто зависало на мне, иногда возвращалось нормальноа другие просто вылетали (иногда буквально сбивали телефон, заставляя меня перезагружаться).Это происходит примерно каждые 1/5 попыток, и мне было действительно трудно поймать DDMS по какой-то причине, потому что он просто не сработал бы, когда я пытался войти / профилировать его.
У меня естьтак как во время замораживания активность указана ниже с DDMS.Любая помощь с этим журналом была бы очень признательна, если бы я случайно наткнулся на свое решение в то же время, что я опубликую.Заранее спасибо!
04-15 05:14:03.154: WARN/SharedBufferStack(4148): waitForCondition(DequeueCondition) timed out (identity=355, status=0). CPU may be pegged. trying again.
04-15 05:14:04.154: WARN/SharedBufferStack(4148): waitForCondition(DequeueCondition) timed out (identity=355, status=0). CPU may be pegged. trying again.
04-15 05:14:05.154: WARN/SharedBufferStack(4148): waitForCondition(DequeueCondition) timed out (identity=355, status=0). CPU may be pegged. trying again.
04-15 05:14:06.154: WARN/SharedBufferStack(4148): waitForCondition(DequeueCondition) timed out (identity=355, status=0). CPU may be pegged. trying again.
04-15 05:14:07.154: WARN/SharedBufferStack(4148): waitForCondition(DequeueCondition) timed out (identity=355, status=0). CPU may be pegged. trying again.
04-15 05:14:08.123: INFO/ActivityThread(4148): Removing dead content provider: settings
04-15 05:14:08.154: WARN/SharedBufferStack(4148): waitForCondition(DequeueCondition) timed out (identity=355, status=0). CPU may be pegged. trying again.
04-15 05:14:08.186: DEBUG/SensorManager(4148): _sensors_data_poll() failed, we bail out.
Использование акселерометра, сенсорных клавиш и кнопок захвата.Все это при использовании canvasThread
для рисования из surfaceView
.Все это «отделено» от потока пользовательского интерфейса.
Пытался получить трассировку стека от сбоя, но когда я присоединяю к нему отладчик, проклятая штуковина не сработает;однако, кажется, что данные из акселерометра получают почти вдвое быстрее?Любая идея, почему это?
[EDIT] --- Наконец-то получил трассировку стека
Thread [<9> CanvasThread] (Suspended)
**Surface.unlockCanvasAndPost(Canvas) line: not available [native method]**
SurfaceView$3.unlockCanvasAndPost(Canvas) line: 804
CanvasSurfaceView$CanvasThread.run() line: 233
Thread [<8> AsyncQueryWorker] (Suspended)
**Object.wait(long, int) line: not available [native method]**
MessageQueue(Object).wait() line: 288
MessageQueue.next() line: 146
Looper.loop() line: 123
HandlerThread.run() line: 60
Thread [<7> Binder Thread #2] (Suspended)
**NativeStart.run() line: not available [native method]**
Thread [<6> Binder Thread #1] (Suspended)
**NativeStart.run() line: not available [native method]**
Daemon System Thread [<5> Compiler] (Suspended)
NativeStart.run() line: not available [native method]
Daemon System Thread [<3> Signal Catcher] (Suspended)
NativeStart.run() line: not available [native method]
Daemon System Thread [<2> HeapWorker] (Suspended)
NativeStart.run() line: not available [native method]
Новая информация , при использовании DDMS я пытался нажать «Stop Process», когда он зависает, и приложение на секунду убивает, после чего оно появляется снова и продолжает без колебаний ... wierd