iOS7 PhoneGap 使用 ZBar 扫描仪后卡住

标签 ios cordova ios7 zbar-sdk

我有一个在 iOS 中使用 ZBar 扫描插件的 PhoneGap 应用程序。它允许我使用扫描仪几次,但在尝试几次后,下一次单击扫描按钮以调用插件会导致应用程序卡住 30 秒到 5 分钟之间的任何时间。然后它将再次恢复正常功能。

它只发生在安装了 iOS7 的设备上。我已经测试过了。

我注意到 xcode 给我一条输出消息“Received memory warning”。它可能以某种方式相关。

有什么想法吗?

最佳答案

根据 this问题,ZBarReaderViewControllerview 属性被保留,因此会泄漏。

如 ZBar SDK 文档中所述 here ,当您初始化 ZBarReaderViewController 时,将阅读器的 View 属性设置为 autorelease:

- (IBAction) scanButtonTapped
{
    // ADD: present a barcode reader that scans from the camera feed
    ZBarReaderViewController *reader = [ZBarReaderViewController new];

    // Fixes memory leak for the view property.
    [reader.view autorelease];

    reader.readerDelegate = self;
    reader.supportedOrientationsMask = ZBarOrientationMaskAll;

    ZBarImageScanner *scanner = reader.scanner;
    // TODO: (optional) additional reader configuration here

    // EXAMPLE: disable rarely used I2/5 to improve performance
    [scanner setSymbology: ZBAR_I25
             config: ZBAR_CFG_ENABLE
             to: 0];

    // present and release the controller
    [self presentModalViewController: reader
          animated: YES];
    [reader release];
}

关于iOS7 PhoneGap 使用 ZBar 扫描仪后卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21189454/

相关文章:

iphone - 如何在 IB 中更改 App Delegate 类型?

ios - 如何在iOS Ionic应用程序中选择拨号器应用程序?

xcode - 找不到 Cordova/CDVViewController.h 文件

ios - Rubymotion:表单更改时自动提交 formotion 表单

ios - 应用程序在几秒钟后被 ios7 中的操作系统杀死 - 编辑

ios - 容器中的导航栏

ios:单元 ST AssertEquals -> 类型不匹配

ios - 仅在一个 ViewController 中旋转

javascript - Framework7 : Default url to a different view is not working

ios - SwiftUI:动态设置图像的大小