2014-01-17 21 views
0

我有一個PhoneGap應用程序,它使用iOS中的ZBar掃描插件。它允許我多次使用掃描儀,但在幾次嘗試之後,下一次單擊掃描按鈕以調用插件會導致應用程序在30秒到5分鐘之間凍結。然後它會再次恢復正常功能。iOS7 PhoneGap使用ZBar掃描儀後凍結

它只發生在安裝iOS7的設備上。我已經測試過了。

我注意到xcode給了我一個「收到的內存警告」的輸出消息。它可能會以某種方式相關。

任何想法?

回答

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]; 
} 
+0

非常感謝!我添加了[reader.view autorelease];行,它似乎工作正常。 –