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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top