2017-07-05 3 views
2

私はこの問題を今数週間苦労しています。私はすべての場所でオンラインを見ており、この2つの部外リンク以外に、この問題に近い何も見つかりませんでした。UIImagePickerControllerは、起動後および撮影中にメモリがリークしています。 100枚以上の写真を撮った後にアプリがクラッシュする

https://github.com/cordova-plugin-camera-preview/cordova-plugin-camera-preview/issues/200

https://issues.apache.org/jira/browse/CB-11784

しかし、それらは、同じ環境を使用していないと実際の解決策はありません問題にここで

は私がimagePickerを起動し、写真を撮った直後のXcode 8.3を使用して、私のインストのスクリーンショットです:ここで

enter image description here

はimagePickerに関連するコードです:

 //initializer on my class 
     var imagePicker = UIImagePickerController() 

     //imagepicker setup on ViewDidLoad() 

     imagePicker.delegate = self 
     imagePicker.allowsEditing = false 
     imagePicker.mediaTypes = [kUTTypeImage as String] 

     if UIImagePickerController.isSourceTypeAvailable(.camera) { 
      imagePicker.sourceType = .camera 

     } 
     else { 
     print("Sorry this app only supports camera") 
     } 


     //function to start picker when click on button 
     func startPicker(){ 

     self.present(imagePicker, animated: false, completion: nil) 

     } 

     //delegate functions 

     func imagePickerControllerDidCancel(_ picker: UIImagePickerController) 
     { 
       imagePicker.dismiss(animated: false, completion: nil) 
     } 

     func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) 
     { 

      //display photo on view 

      imagePicker.dismiss(animated: false, completion: nil) 

     } 

これはIOSのバグですか、このメモリリークを取り除くには離れていますか?

+0

あなたは一人ではありません。同様の最小限のコードを使って、iOS 10.3.3とXcode 8.3.3でこれを再現できます。 「他のプロセス」メモリ使用量は、すべてのシステムメモリが使い果たされるまで徐々に増加します。アプリケーションが「接続が失われました」というメッセージが表示され、アプリケーションで例外が発生しなくなります(UIImageViewControllerコード内にリークがあるようです)。 – davidgoli

+0

関連:https://stackoverflow.com/questions/42249570/frequently-camera-capture-crashing-the-app-without-any-clue – davidgoli

+0

@davidgoliのリンクをありがとう、私は私がそうではないことを知ってうれしい唯一。私は、単に私のアプリで画像ビューを持つことによってこの問題を再現することができます。とにかく40〜50枚の写真が撮られた後にクラッシュする。それは非常に迷惑で、私はまだこれで苦労しています。 – Fidel

答えて

0

この問題もありました。それはUIImagePickerControllerの既知のバグのようです。

私はここで、最小限のREPROアプリ作成:私はhttps://github.com/imaginary-cloud/CameraManagerを使用して自分のカメラコントローラを実装することによってそれを解決しhttps://github.com/davidgoli/UIImagePickerLeakTest

を。

+0

私はこれをチェックするつもりです!ありがとうございました – Fidel

+1

私はAppleからバグレポートを提出した後に聞いてきました。彼らは私のバグレポートを重複してクローズし、この問題の別のオープンなバグが存在することを確認しました。 NDAの下にあるので、元のバグレポートにリンクすることはできません。 – davidgoli

関連する問題