Android view или surfaceView, что я должен использовать?


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

1 7

1 ответ:

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

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

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

Я также нахожу Этот обзор на developer.android.com чтобы быть хорошим ориентиром, выберите метод рисования.