Domanda

Mi ricordo qualche tempo fa leggere su un'alternativa (aka più veloce) modo per eseguire un metodo getPixel()-ish.

Il problema è che non mi ricordo dove ho letto che, e ho cercato accuratamente .. Credo.

La risposta aveva qualcosa a che fare con il blocco del bitmap in memoria, o qualcosa del genere.

Ho bisogno di eseguire getPixel() più volte "per-tick", che è molto costoso che sembra.

Qualcuno sa di cosa sto parlando?

È stato utile?

Soluzione

Probabilmente stai pensando Bitmap.getPixels(), che copiare qualsiasi parte del bitmap in un array. Da quel punto in poi, è possibile accedere direttamente qualsiasi pixel utilizzando un semplice accesso agli array, che è molto più veloce di chiamare Bitmap.getPixel() più volte.

Ti verrà di fronte ad una decisione di memoria vs. prestazioni qui: Se avete bisogno di interrogare i pixel molto e se il bitmap cambia raramente, a mantenere la matrice intorno (a scapito di avere quella matrice nella memoria). Altrimenti, l'interesse rilascio nella matrice appena possibile per garantire che possa essere raccolto quando necessario. Ovviamente, evitare di chiamare getPixels() molto - l'idea è di chiamare una volta e poi interrogare la matrice più volte

.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top