Вопрос

Давно я помню чтение о альтернативе (aka быстрее) способ выполнить getPixel()-ИЧ-метод.

Проблема в том, что я не помню, где я прочитал это, и я тщательно искал .. Я думаю.

Ответ было что-то связано с блокировкой растрового изображения в памяти или что-то в этом роде.

Мне нужно бежать getPixel() Несколько раз "на галочку", который очень дорого, кажется.

Кто-нибудь знает, о чем я говорю?

Это было полезно?

Решение

Вы, вероятно, думаете о Bitmap.getPixels(), который будет скопировать любую часть растрового изображения в массив. С этого момента вы можете напрямую добраться до любого пикселя, используя простой доступ для массива, который намного быстрее, чем звон Bitmap.getPixel() многократно.

Вы будете сталкиваться с эффективностью против решения памяти здесь: если вам нужно много пикселей, и если ваш растровый карту редко меняется, сохраняйте массив вокруг (за счет того, чтобы этот массив в памяти). Если нет, освободить интерес в массиве как можно скорее, чтобы он мог быть собран при необходимости. Очевидно, не позвоните getPixels() Много - идея состоит в том, чтобы позвонить в это один раз, а затем запрашивать массив много раз.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top