Мое приложение surfviewview - это то, где большинство моих приложений, и я хотел бы уменьшить его отставание, поэтому мне сказали снять его с темы пользовательского интерфейса. Можно ли запустить SurfaceView в AsyncTask?Run SurfaceView off UI Thread
1
A
ответ
1
Хотя можно рисовать в SurfaceView из AsyncTask, это не рекомендуется. AsyncTasks может запускаться в последовательной очереди, поэтому вы, вероятно, блокируете другие задачи. Вместо этого просто используйте Thread. SDK содержит пример приложения LunarLander, который показывает, как это сделать.
Смежные вопросы
- 1. UI thread and Surfaceview
- 2. SurfaceView Thread Fails
- 3. SurfaceView Thread IllegalMonitorStateException
- 4. Android LinkedList ConcurrentModificationException SurfaceView Thread
- 5. Когда вы должны позволить SurfaceView рисоваться через UI-thread?
- 6. io_service run in thread
- 7. Android SurfaceView/Thread for update games states
- 8. Android draw используя SurfaceView и Thread
- 9. WPF Secondary UI Thread MediaElement wont load on FIRST run
- 10. UI thread - блок, секундомер.
- 11. Различия между Thread # run и Thread # wakeup
- 12. Background thread vs UI thread
- 13. postDelayed blocking ui thread
- 14. Android: UI Thread Blocked
- 15. run() on terminated state thread
- 16. Thread повторно запускает метод run()
- 17. SurfaceView thread - начать/остановить onDraw звонки?
- 18. Non-UI thread, UI access
- 19. std :: thread thread spun off в объекте, когда он заканчивается?
- 20. JQuery UI Dialog off screen
- 21. Android Callback от UI Thread
- 22. Syncing UI Thread and workhorse thread
- 23. C# UI Thread Unresponsive
- 24. looper.prepare a ui thread
- 25. BlockingCollection + UI Thread
- 26. UI Thread Safety
- 27. мьютекса Blocks UI Thread
- 28. Android Thread и UI
- 29. Keep UI Thread free
- 30. Silverlight UI Thread Freezing
Вы не можете запустить UI из потока пользовательского интерфейса. Вы получите исключение CalledFromWrongThread. Тем не менее, вы могли бы обрабатывать все материалы обработки, которые сообщают вам *, где *, рисовать в фоновом потоке, а затем делать только фактический чертеж * в потоке пользовательского интерфейса. –
SurfaceView предназначен для рисования в фоновом потоке: для достижения этой цели вы можете использовать методы lockCanvas() и unlockCanvasAndPost() для SurfaceHolder. –