【发布时间】:2014-05-28 14:30:57
【问题描述】:
我一直在测试 ZBar 和 ZXing,我看到很多帖子说“ZXing 慢”,“ZBar 快得多”,但我没有看到任何测试公开。 我将代码更改为接受来自画廊的图像并重复解码 QRCode 50 次,做了一些测试,ZXing 比 ZBar 快得多,但是两个库都有同样奇怪的问题,第一个结果是 150 毫秒,并且所有下一个值都快得多,比如第一次解码的一半。
我在ZXing数着这条线的时间
Result res = qrreader.decode(bBitmap);
在 ZBar 这个
int result = scanner.scanImage(barcode);
有人知道为什么它第一次解码图像的结果是 X 毫秒,而下一次要快得多吗? 这是图像处理库的一些“问题”(不是问题,优化)吗?
【问题讨论】:
-
我猜它必须在你第一次执行命令时初始化一堆对象,然后它会重用它们
-
我想过这个问题,但为了防止我初始化每个测试中都有解码的对象
-
你检查过来源吗?当您执行
qrreader.decode(bitmap)或scanner.scanImage(barCode);时,它会做什么?我猜当你调用它们时它会创建对象。 -
是的,但我每次都初始化对象,所以它会创建你每次说的所有对象。
QRCodeReader qrreader = new QRCodeReader();然后Result res = qrreader.decode(bBitmap);
标签: android performance zxing qr-code zbar