Alternativa ao bitmap.getpixel ()
Pergunta
Lembro -me de um tempo atrás lendo sobre uma maneira alternativa (também conhecida mais rápida) de realizar um getPixel()
-ish método.
O problema é que não me lembro de onde li isso e pesquisei minuciosamente .. eu acho.
A resposta tinha algo a ver com travar o bitmap na memória, ou algo assim.
Eu preciso correr getPixel()
Várias vezes "por tick", o que é muito caro, parece.
Alguém sabe do que estou falando?
Solução
Você provavelmente está pensando em Bitmap.getPixels()
, que copiará qualquer parte do bitmap em uma matriz. A partir desse momento, você pode acessar diretamente qualquer pixel usando um acesso simples de matriz, o que é muito mais rápido do que ligar Bitmap.getPixel()
várias vezes.
Você estará enfrentando uma decisão de desempenho versus memória aqui: se precisar consultar muito os pixels e se seu bitmap raramente mudar, mantenha a matriz (às custas de ter essa matriz na memória). Caso contrário, libere interesse na matriz o mais rápido possível para garantir que ela possa ser coletada quando necessário. Obviamente, evite ligar getPixels()
Muito - a idéia é chamá -lo uma vez e depois consultar a matriz muitas vezes.