zbar 使用感受

        听人说 ZBar 效率比 ZXing 高,于是下载来使用。将 jar 导入 libs 后,浏览文件发现,ZBar 比 ZXing 简单了很多,文件少了不少。看看 Android SDK 里附带的例子,ZBar 使用十分简单。

  1. jni

    浏览 jar 里面的代码,发现都很简单,一溜全带着 native。这早有预料,因为听人说 ZBar 使用 JNI 方式实现的,因次效率才高。

  2. 导入 so 文件

    以前从没用过 JNI 库,实例项目也没细看。写了代码之后,提示说没有加载库文件。我到网上搜索一番,有人说要仔细看实例项目,那里面 libs 文件夹下面可不只有 jar 文件,要把 so 文件复制到 libs 文件夹下。我试了,发现不成。又有人说,要在 main 文件夹下新建一个 jniLibs 文件夹,再把 so 文件按照目录结构拷贝过去。这次成功了。

  3. 真实表现

    zxing 和 zbar 我两个都使用了。结果发现,zxing 识别一帧摄像头预览耗时 100 ~200 毫秒,而 zbar 耗时 200 ~ 500 毫秒。zbar 根本不快好吗!也不知是我运气差弄错了什么,还是我被忽悠了。

    不过,zbar 对模糊图像的识别能力比 zxing 要好。一次运行时摄像头对焦错误,二维码模糊不清,zbar 识别出来了,而 zxing 无动于衷。我要开发的项目对识别能力要求高,对识别速度要求低些。因为识别速度可以通过多开线程、缓存图像来弥补,识别不出来就没辙了。




你可能感兴趣的:(zbar 使用感受)