Android 位图的替代品。getPixel()
我记得不久前读过一篇关于执行Android 位图的替代品。getPixel(),android,bitmap,getpixel,Android,Bitmap,Getpixel,我记得不久前读过一篇关于执行getPixel()-ish方法的替代(也称为更快)方法的文章 问题是,我不记得我在哪里读到的,而且我已经彻底搜索了。。我想 答案与在内存中锁定位图或类似的东西有关 我需要“每滴答”多次运行getPixel(),这似乎非常昂贵 有人知道我在说什么吗?您可能正在考虑位图.getPixels(),它将位图的任何部分复制到数组中。从那时起,您可以使用简单的数组访问直接访问任何像素,这比多次调用Bitmap.getPixel()要快得多 在这里,您将面临一个性能与内存的决定:
getPixel()
-ish方法的替代(也称为更快)方法的文章
问题是,我不记得我在哪里读到的,而且我已经彻底搜索了。。我想
答案与在内存中锁定位图或类似的东西有关
我需要“每滴答”多次运行getPixel()
,这似乎非常昂贵
有人知道我在说什么吗?您可能正在考虑
位图.getPixels()
,它将位图的任何部分复制到数组中。从那时起,您可以使用简单的数组访问直接访问任何像素,这比多次调用Bitmap.getPixel()
要快得多
在这里,您将面临一个性能与内存的决定:如果您需要大量查询像素,并且位图很少更改,请保留阵列(以在内存中保留该阵列为代价)。如果没有,请尽快释放对阵列的兴趣,以确保在必要时可以收集该阵列。显然,避免多次调用
getPixels()
,方法是调用它一次,然后多次查询数组。嗯,不是这样,但这肯定是一个选项。我读的那篇文章要复杂得多。。远远超过我的头。但现在我遇到了性能问题,我想我应该试着解决它。好吧,这取决于你的想法。这基本上类似于图形库中的“锁定只读曲面”。如果你想成为硬核,你可以做Bitmap.copyPixelsToBuffer
,但同样,假设你有一个不太大的静态位图,最简单的替换方法是调用getPixels
一次,然后查找该数组。我仍然没有得到答案。。不过如果没人知道我在说什么,我就只能去迈克家了。