所有
在我注意到getPixel
和setPixel
有多缓慢(不确定哪一个,猜测两者都不是涡轮增压)后,我快速编写了使用Bitmap
的{{1}}容器用于处理位图操作的数组。
已经 - 明显更快,但这还不够。请问您如何进一步加快速度?
我的想法是跟踪int[]
函数“脏”的内容,并在调用setPixel
时仅更新Bitmap
的这一部分...不清楚如何设置getBitmap()
参数虽然(我猜的是偏移量和步幅)。
另外 - 任何更快的食谱?
提前感谢您的帮助!
setPixels
答案 0 :(得分:4)
对于像setPixel
/ getPixel
这样简单的函数,函数调用开销相对较大。
直接访问pixels
数组而不是通过这些函数要快得多。当然这意味着你必须公开pixels
,从设计的角度来看这不是很好,但是如果你绝对需要你可以获得的所有性能,那么这就是要走的路。
另请参阅Android文档中的Designing for performance。
如果仍然不够,请考虑使用NDK在C ++中编写位图操作。
答案 1 :(得分:0)
另一种选择是使用android ndk。当谈到你没有什么帮助,但它确实提高了速度