我目前正在将Bitmaps写入png文件,并将它们读回Bitmap。我正在寻找提高写作和阅读速度的方法。图像需要无损,因为我正在阅读它们以进行编辑。
我认为性能最差的地方是实际BitmapFactory.decode(...)
。
几个问题:
1.是否有更快的解决方案使用NDK从文件读取/写入位图?
2.是否有更好的库可以更快地解码位图?
3.存储和读取位图的最佳方法是什么?
答案 0 :(得分:4)
尝试解决以最佳/最快的方式读取/写入图像到文件归结为使用普通的BitmapFactory
。我曾尝试使用NDK进行编码/解码,但这确实没有什么区别。
基本上使用的格式是无损PNG,因为在编辑图像后我不想失去任何质量。
所有这一切的主要概念是我需要了解编码与解码相比的长度。编码数字在300-600ms的高位,取决于图像大小,解码速度很快,大约10-23ms。
在了解了所有我刚刚创建的工作线程后,我传递了需要编码的图像并让它在不影响用户体验的情况下完成工作。图像被保存在内存中,以防万一在完全编码并保存到文件之前需要它。