Альтернатива Bitmap.getPixel ()
Вопрос
Давно я помню чтение о альтернативе (aka быстрее) способ выполнить getPixel()
-ИЧ-метод.
Проблема в том, что я не помню, где я прочитал это, и я тщательно искал .. Я думаю.
Ответ было что-то связано с блокировкой растрового изображения в памяти или что-то в этом роде.
Мне нужно бежать getPixel()
Несколько раз "на галочку", который очень дорого, кажется.
Кто-нибудь знает, о чем я говорю?
Решение
Вы, вероятно, думаете о Bitmap.getPixels()
, который будет скопировать любую часть растрового изображения в массив. С этого момента вы можете напрямую добраться до любого пикселя, используя простой доступ для массива, который намного быстрее, чем звон Bitmap.getPixel()
многократно.
Вы будете сталкиваться с эффективностью против решения памяти здесь: если вам нужно много пикселей, и если ваш растровый карту редко меняется, сохраняйте массив вокруг (за счет того, чтобы этот массив в памяти). Если нет, освободить интерес в массиве как можно скорее, чтобы он мог быть собран при необходимости. Очевидно, не позвоните getPixels()
Много - идея состоит в том, чтобы позвонить в это один раз, а затем запрашивать массив много раз.