首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关闭后未释放Aviary ios SDK内存

关闭后未释放Aviary ios SDK内存
EN

Stack Overflow用户
提问于 2013-05-12 22:42:05
回答 2查看 333关注 0票数 1

我在我的应用程序中使用了Aviary SDK3.0,我把Aviary代码放在一个像这样的弹出窗口中,但在我使用popover dismissPopoverAnimated关闭弹出窗口后,Aviary仍然在内存堆中,这甚至是真的,即使我取消了父视图控制器。我下架后,Aviary代码会被清除吗?

在动作中使用时轻拍照片。我在这里介绍它

代码语言:javascript
复制
    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

EN

回答 2

Stack Overflow用户

发布于 2013-08-01 10:41:48

从文档中:

请注意,不建议将控制器推送到UINavigationController的堆栈上,因为照片编辑器本身使用UINavigationController的子类。

尝试以模态的方式呈现它,然后我所做的只是为了让我对清理所有内存感到更好,就是创建一个强大的属性并检查核对表

代码语言:javascript
复制
[editorController removeFromParentViewController];
editorController.delegate = nil;
editorController = nil;

一些关于清除委托的东西似乎能更好地清理我的内存,尽管我不认为你需要它。

另外,别忘了:

默认情况下,Aviary会加载少量的OpenGL对象,以优化Aviary产品的启动。

代码语言:javascript
复制
[AFOpenGLManager requestOpenGLDataPurge];
// to request a clear, 
// "Calls to requestOpenGLDataPurge only apply to the currently loaded OpenGL data,"

您可以将其设置为定期清除

代码语言:javascript
复制
[AFPhotoEditorCustomization purgeGPUMemoryWhenPossible:YES];

如果您正在执行此操作,最好预先加载一些编辑器(如果您知道他们很快就会使用它

代码语言:javascript
复制
[AFOpenGLManager beginOpenGLLoad];
票数 0
EN

Stack Overflow用户

发布于 2014-11-04 05:06:37

在SDK的后续版本中已解决了此内存泄漏问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16508513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档