【问题标题】:iOS7 PhoneGap Freezing after using ZBar Scanner使用 ZBar 扫描仪后 iOS7 PhoneGap 冻结
【发布时间】:2014-02-06 23:50:23
【问题描述】:

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

只有在安装了 iOS7 的设备上才会发生这种情况。我已经测试过了。

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

有什么想法吗?

【问题讨论】:

    标签: ios cordova ios7 zbar-sdk


    【解决方案1】:

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

    如 ZBar SDK 文档 here 中所述,当您初始化 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];在线,它似乎工作正常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-05
    相关资源
    最近更新 更多