2010-11-04 2 views
1

У меня есть опыт работы с SurfaceView. Чтобы предотвратить ненужное перерисовку, я всегда использую переменную обратного отсчета, которая сообщает потоку, как часто нужно отображать представление.SurfaceView типа PUSH_BUFFERS

countdown > 0 : draw ? doNothing 

Однако я думал об изменении этого, чтобы использовать «толчок». Поэтому просто нажмите буфер на поверхность и покажите, что вместо установки переменной обратного отсчета всюду в моем проекте.

Моя проблема в том, что я не могу найти хороший учебник/ресурс, где описано использование. В настоящее время у меня есть что-то вроде этого:

// panel is the SurfaceView 
c = panel.getHolder().lockCanvas(null); 
synchronized (panel.getHolder()) { 
    panel.updatePhysics(); 
    panel.onDraw(c); 
} 
panel.getHolder().unlockCanvasAndPost(c); 

Я не имею ни малейшего представления о том, как получить холст рисовать, когда я не могу использовать lockCanvas(), как указано в документации.

ответ

0

Этот вопрос является устаревшим после того, как типы поверхностей устарели. Поэтому он больше не используется ...

+1

Зависит. Если вы пытаетесь использовать CameraPreview, как в образцах SDK 7, требуется 'SURFACE_TYPE_PUSH_BUFFERS'. Если вы не установите этот тип, предварительный просмотр не будет работать. Таким образом, в API-интерфейсе камеры должна быть интерпретация, хотя типы отмечены как устаревшие. – rdoubleui

+0

Интересно. Спасибо за информацию! – WarrenFaith

 Смежные вопросы

  • Нет связанных вопросов^_^