0
好吧我有一個難以追蹤這個內存泄漏的世界。運行這個腳本時,我沒有看到任何內存泄漏,但我的對象正在爬升。 Instruments指向CGBitmapContextCreateImage> create_bitmap_data_provider> malloc,這佔用了我objectalloc的60%。iPhone - UIImage泄漏,ObjectAlloc建設
該代碼被稱爲NSTimer多次。
如何在我返回後清除reUIImage?
...或者我怎樣才能讓UIImage imageWithCGImage不會構建我的ObjectAlloc?
//I shorten the code because no one responded to another post
//Think my ObjectAlloc is building up on that retUIImage that I am returning
//**How do I clear that reUIImage after the return?**
-(UIImage) functionname {
//blah blah blah code
//blah blah more code
UIImage *retUIImage = [UIImage imageWithCGImage:cgImage];
CGImageRelease(cgImage);
return retUIImage;
}
我已經看到NSAutoreleasePool像這樣發佈...... [pool drain]哪種方式是正確的? [池漏]或[池釋放]? – bbullis21 2009-09-16 02:09:09
來自文檔: 在引用計數的環境中,此方法的行爲與發佈相同。由於無法保留自動釋放池(請參閱保留),因此會導致接收器被釋放。當一個自動釋放池被釋放時,它向所有的自動釋放對象發送釋放消息。如果一個對象被多次添加到同一個池中,當池被釋放時,它會在每次添加時收到一條釋放消息。 該手機沒有垃圾回收 – coneybeare 2009-09-16 02:30:00
從評論中不清楚,但該描述來自drain方法 – coneybeare 2009-09-16 02:30:35