偶尔在低内存条件下,我使用的UIImagePickerController在关闭快门时会“卡住”。一般情况下,当WatchDog已经放弃其他后台应用程序时,所以在一两秒内,低内存条件结束,但UIImagePicker控制器仍然卡住。
是否有其他人遇到过这种情况并实施了任何类型的解决方法,或者找到了一种方法来检测选择器何时处于此状态,以便可以将其删除并将其放置到位。
思想/想法/解决方案??
答案 0 :(得分:2)
您是否尝试在启动UIImagePicker之前使用malloc()分配(然后释放)一兆字节或两个内存?或者稍早在您的应用中声明它,然后在您想要显示选择器时将其释放。
我猜你应该能够通过在乐器内部运行你的app来大致了解UIImagePicker成功运行所需的内存量。
虽然不理想,但它应该会导致其他应用程序更早被给予内存警告,因此UIImagePicker应该有足够的内存来运行。
答案 1 :(得分:0)
这也是相机应用程序的已知行为。我想你不能做任何事情,除了在开始之前释放尽可能多的内存。你可以自己提高一个内存警告,这样每个应用程序都会收到它并开始释放内存,但我不知道如何做到这一点。我开始调查自己发送通知(UIApplicationDidReceiveMemoryWarningNotification)但没有成功。我想我们需要在通知中发送一个对象来定义警告级别,但我真的不确定。