我在我的应用程序中使用了Aviary SDK3.0,我把Aviary代码放在一个像这样的弹出窗口中,但在我使用popover dismissPopoverAnimated关闭弹出窗口后,Aviary仍然在内存堆中,这甚至是真的,即使我取消了父视图控制器。我下架后,Aviary代码会被清除吗?
在动作中使用时轻拍照片。我在这里介绍它
AFPhotoEditorController *editorController = [[AFPhotoEditorController alloc] initWithImage:imageToEdit];
[editorController setDelegate:self];
if (popover == nil)
popover = [[UIPopoverController alloc] initWithContentViewController:editorController];
else
[popover setContentViewController:editorController animated:YES];https://dl.dropboxusercontent.com/u/23238574/Screenshots/aviarypopover.png

发布于 2013-08-01 10:41:48
从文档中:
请注意,不建议将控制器推送到UINavigationController的堆栈上,因为照片编辑器本身使用UINavigationController的子类。
尝试以模态的方式呈现它,然后我所做的只是为了让我对清理所有内存感到更好,就是创建一个强大的属性并检查核对表
[editorController removeFromParentViewController];
editorController.delegate = nil;
editorController = nil;一些关于清除委托的东西似乎能更好地清理我的内存,尽管我不认为你需要它。
另外,别忘了:
默认情况下,Aviary会加载少量的OpenGL对象,以优化Aviary产品的启动。
[AFOpenGLManager requestOpenGLDataPurge];
// to request a clear,
// "Calls to requestOpenGLDataPurge only apply to the currently loaded OpenGL data,"您可以将其设置为定期清除
[AFPhotoEditorCustomization purgeGPUMemoryWhenPossible:YES];如果您正在执行此操作,最好预先加载一些编辑器(如果您知道他们很快就会使用它
[AFOpenGLManager beginOpenGLLoad];发布于 2014-11-04 05:06:37
在SDK的后续版本中已解决了此内存泄漏问题。
https://stackoverflow.com/questions/16508513
复制相似问题