I am working on an app that manipulates HD photos. I am taking a photo with an AVCaptureSession, stopping it and then apply effects on that photo.
The thing that makes me CRAZY is that everything works fine, instruments tells me that I release all the memory I use properly and on time. It goes really high yes, sometimes to 100mb. But it goes down quickly.
Then I restart my Capture Session and I got a memory warning. There is absolutely no reason for that ;_; All the memory I used if freed... Then the next time I will restart the capture session the app crashes. No messages, no logs, nothing at all.
I don't know how to solve this, I don't know where to look for... If someone could help me a little bit I would be so glad!
Thanks in advance!
I've had the same frustrations. I was using ARC in a project where I was presenting a camera using AV Foundation. After presenting and popping the view controller a few times, my app would receive a low memory warning, and subsequently crash. Instruments didn't help much either. I discovered the solution by experimenting:
Even though you are using ARC in your camera class, you can implement the dealloc method (just don't call
super
on dealloc).This takes care of stopping the AVCaptureSession and ensuring it has no inputs or outputs still alive.
I have encounter the same problem I have found this line is the main problem
Just remove the previewlayer from the super layer while deallocating and there is no memory issue. My deallocating function is as follow
i called this function before popping and pushing any other view. It solved my issue.