В Android я использую SurfaceView. Он находится внутри FrameLayout, чтобы нарисовать пару вещей на прозрачном слое поверх общей компоновки XML (со стандартными текстовыми элементами, кнопками и т. Д.). Рисунок не требует очень интенсивного вычисления и не оживляет, он только обновляет в ответ на нажатия кнопок.Нужно ли использовать отдельный поток при использовании SurfaceView?
Все примеры, которые я видел в SurfaceView, используют отдельный поток для рисования, а затем закрывают этот поток в OnSurfaceDestroyed.
Мой код работает без использования отдельного потока, но иногда он вылетает/зависает, особенно при переключении между ориентациями/приложениями.
Итак, мой вопрос: нужно ли использовать дополнительный поток, чтобы предотвратить эти сбои. А если нет, есть ли какая-то другая особенность, которую я должен делать в OnSurfaceDestroyed? (Я бы предпочел не размещать весь мой код здесь, просто ищет простой ответ «да/нет» и причины в нескольких предложениях).
Спасибо, что действительно полезно. – stantronic