簡體   English   中英

我如何解決內存泄漏問題?

[英]How i solve memory leak problem?

我開發了一個簡單的應用程序,在其中設計或制作代碼,並在其中創建UIImage和實例對象。 當我在Ipad屏幕上滑動時,它將構成屏幕的圖像,然后將該圖像設置為UIImageView對象並釋放UIimage對象,然后將該圖像渲染為UIImage對象。 每次我在屏幕上滑動時,以上過程都會一次又一次地執行。 但這給了我renderImage = [[UIImage alloc] init];漏洞renderImage = [[UIImage alloc] init];

碼,

_renderImage = [[UIImage alloc] init];

_textImageV = [[UIImageView alloc] init];

[self renderIntoImage];

-(void)renderIntoImage
{

    UIGraphicsBeginImageContext(bgTableView.bounds.size);
    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
    _renderImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
}

 _textImageV.image = _renderImage;
[_renderImage release];

完成滑動過程后,我還釋放了_textImageV。

我如何解決UIImage * _renderImage中的內存泄漏問題?

在這行上:

_renderImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsGetImageFromCurrentImageContext()返回一個新的自動發布的UIImage並將_renderImage ivar指向它。 先前分配的UIImage永遠不會實際釋放,它的變量只是指向其他地方。

此廢棄的UIImage導致/是內存泄漏。 您應該先釋放它,然后_renderImage指向其他對象,否則就不能首先分配它。

暫無
暫無

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

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