使用ZBar扫描仪后iOS7电话间隙冻结

使用ZBar扫描仪后iOS7电话间隙冻结,ios,cordova,ios7,zbar-sdk,Ios,Cordova,Ios7,Zbar Sdk,我有一个PhoneGap应用程序,在iOS中使用ZBar扫描插件。它允许我使用扫描器几次,但几次尝试后,下一次点击扫描按钮调用插件会导致应用程序冻结30秒到5分钟。然后它将再次恢复正常功能 它仅在安装iOS7的设备上发生。我已经测试过了 我注意到xcode给了我一个“已接收内存警告”的输出消息。这可能有某种关联 有什么想法吗?根据问题,ZBarReaderViewController的视图属性被保留,因此会泄漏 正如ZBar SDK文档中所述,初始化ZBarReaderViewControlle

我有一个PhoneGap应用程序,在iOS中使用ZBar扫描插件。它允许我使用扫描器几次,但几次尝试后,下一次点击扫描按钮调用插件会导致应用程序冻结30秒到5分钟。然后它将再次恢复正常功能

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

我注意到xcode给了我一个“已接收内存警告”的输出消息。这可能有某种关联

有什么想法吗?

根据问题,ZBarReaderViewController的
视图属性被保留,因此会泄漏

正如ZBar SDK文档中所述,初始化
ZBarReaderViewController
时,将读卡器的视图属性设置为
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];
}

谢谢!我添加了[reader.view autorelease];排队时,它似乎工作得很好。