2011-03-29 165 views
0

我有一个iPad应用程序,它显示了信息和相关图像的整个负载。例如:我可以访问“事件”部分,我可以从中选择一部分。每个人都有不同的日期或附带活动。一旦我选择了会外活动,我会收取一些小看法,其中包含新闻标题;一个小图像作为预览和一个ViewController中的短文本(它有一个ScrollView)。这个预览可以很多。由于我的代码没有泄漏(我使用Instruments进行了分析,并且唯一可以找到的是NSXMLParser bug),但是我注意到活动字节不会减慢,它们只会增长。我每次都要更新滚动型的内容我照顾插入以下代码:内存管理在iPhone中

if (bannerVideo) { 
    [banner release]; 
    banner = nil; 
} 

你任何机会知道什么可能是这样一个持续增长的原因是什么?

回答

1

解决

我增加了的ViewController “bannerVideo” 作为一个子视图的主视图控制器。这会导致retainCount增加1。所以,当我问一个新的观点:

if (something) { 
    [[bannerVideo view] removeFromSuperview]; 
    [bannerVideo release]; 
    bannerVideo = nil; 
} 

是,为bannerVideo堆积区域的主要访问被释放,但它仍然由主视图控制器视图保留。

+0

这不是正确的解决方案;您应该从视图层次中删除bannerVideo(不隐藏)它,并且只有在您之前保留它的情况下才会释放它。 – bbum 2011-03-31 17:46:35

+0

我的错误,我粘贴了旧的代码。请再次投票。 – IssamTP 2011-04-01 18:51:28