2014-01-17 3 views
0

У меня есть приложение PhoneGap, которое использует плагин для сканирования ZBar в iOS. Это позволяет мне использовать сканер несколько раз, но после нескольких попыток следующий щелчок на кнопке сканирования для вызова плагина заставляет приложение замораживаться где-то между 30 секундами и 5 минутами. Затем он снова возобновит нормальную функцию.iOS7 PhoneGap Замораживание после использования ZBar Scanner

Это происходит только на устройствах, когда установлен 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]; и он работает нормально. –