Android View или SurfaceView, который я должен использовать? - PullRequest
7 голосов
/ 30 июля 2010

Я пытался создать прокручиваемое / масштабируемое приложение, и все прошло отлично, за исключением рисования растровых изображений. Это очень большое изображение (6656 на 4096), которое я разделил на плитки. Существует массив прямоугольников, к которому рисуются растровые изображения, и он определяет, какой прямоугольник находится в верхнем левом углу, чтобы он мог рисовать растровые изображения, которые будут закрывать видимый экран пользователя. Моя проблема заключается в том, что все это запаздывает, когда приложение загружает растровые изображения в память; Как только они загружены, это не проблема. Я начал с 512 на 512 плиток, а затем опустился до 128 на 128. Хотя это помогло, все еще есть некоторое заметное отставание. Я изучал SurfaceView и хотел бы узнать ваше мнение, стоит ли мне использовать View или использовать SurfaceView для устранения моего отставания.

1 Ответ

9 голосов
/ 30 июля 2010

Если вы получаете свой собственный SurfaceView, у вас есть несколько преимуществ.

Главным образом потому, что вы можете иметь всю логику рисования в отдельном потоке. Это означает, что пользовательский интерфейс не будет ждать вас (я предполагаю, что задержка вызвана тем, что пользовательский поток заблокирован?).

SurfaceView также быстрее по своей природе.

Я также считаю этот обзор на developer.android.com хорошим справочным материалом для выбора метода рисования.

...