簡體   English   中英

解雇后未釋放Aviary ios SDK內存

[英]Aviary ios SDK memory not released after dismiss

我在應用程序中使用Aviary SDK 3.0,將Aviary代碼放在這樣的彈出窗口中,但是在使用[popover dismissPopoverAnimated]刪除了彈出窗口之后,Aviary仍然在內存堆中,即使在我之后解雇了父viewcontroller。 我被解雇后,預期會清理鳥舍代碼嗎?

在使用時的動作中,點擊照片。 我在這里展示

    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 在此處輸入圖片說明

從文檔:

“請注意,不建議將控制器推入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];

此內存泄漏已在以后的SDK版本中解決。 請訪問developers.aviary.com以獲取最新版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM