在第123行分配并存储到“页面"中的对象的潜在泄漏 [英] Potential leak of an object allocated on line 123 and stored into 'page'
本文介绍了在第123行分配并存储到“页面"中的对象的潜在泄漏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
分析工具在这行代码中可能造成泄漏.
The analyse tool gives a potential leak on this line of code.
for (int index = firstNeededPageIndex; index <= lastNeededPageIndex; index++) {
任何人都可以帮忙,因为我想不通.
Can anybody help, because I can't figure it out.
这是其余的代码
- (void)tilePages
{
// Calculate which pages are visible
CGRect visibleBounds = pagingScrollView.bounds;
int firstNeededPageIndex = floorf(CGRectGetMinX(visibleBounds) / CGRectGetWidth(visibleBounds));
int lastNeededPageIndex = floorf((CGRectGetMaxX(visibleBounds)-1) / CGRectGetWidth(visibleBounds));
firstNeededPageIndex = MAX(firstNeededPageIndex, 0);
lastNeededPageIndex = MIN(lastNeededPageIndex, [self imageCount] - 1);
// Recycle no-longer-visible pages
for (ImageScrollView *page in visiblePages) {
if (page.index < firstNeededPageIndex || page.index > lastNeededPageIndex) {
[recycledPages addObject:page];
[page removeFromSuperview];
}
}
[visiblePages minusSet:recycledPages];
// add missing pages
for (int index = firstNeededPageIndex; index <= lastNeededPageIndex; index++) {
if (![self isDisplayingPageForIndex:index]) {
ImageScrollView *page = [self dequeueRecycledPage];
if (page == nil) {
page = [[ImageScrollView alloc] init];
}
[self configurePage:page forIndex:index];
[pagingScrollView addSubview:page];
[visiblePages addObject:page];
}
}
}
推荐答案
您永远不会释放在代码段底部分配的页面(假设您未使用ARC)
You never release the page you allocate at the bottom of your snippet (assuming you are not using ARC)
这篇关于在第123行分配并存储到“页面"中的对象的潜在泄漏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文