[英]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.