使用安卓 BitmapFactory对MJPEG流进行java解码。decodeByteArray垃圾收集
我一次解码多个MJPEG流,由于安卓设备上的解码方式,BitmapFactory。decodeByteArray每次调用都会分配内存,这意味着垃圾收集必须超时工作。我希望能够手动控制内存,这样就可以重用同一个块,并减少垃圾收集器的运行时间,因为它对性能有显著影响
有人有过这样的经历吗
我现在正在打这个电话
newBitmap = BitmapFactory.decodeByteArray(frameBuffer, 0, frameSize);
任何帮助都将不胜感激
谢谢
# 1 楼答案
位图工厂。decodeByteArray()可能需要额外的位图工厂。选项参数。如果将inBitmap字段设置为现有位图,它可能会重用位图对象。这可以大大减少垃圾收集
有关更多信息,请参阅本页的“使用现有位图”部分:http://developer.android.com/training/displaying-bitmaps/manage-memory.html