gpt4 book ai didi

iphone - IOS 核心动画对象未释放

转载 作者:可可西里 更新时间:2023-11-01 04:26:04 24 4
gpt4 key购买 nike

我正在 IOS 中制作一个图库应用程序,用户可以在其中浏览图库图像。我在 this 中使用了启用分页的 UIScrollView示例代码。一切正常。但问题是,当我滚动页面时,创建了一些核心动画对象,但它们永远不会释放。


|Graph---|Category------------------|Live Bytes---|#Living----|#Transient

|1-------|All Heap & Anonymous VM |58.69 MB-----|270335-----|828951
|0-------|All Heap Allocations------|15.30 MB-----|269980-----|826939
|0-------|All Anonymous VM----------|43.39 MB-----|355--------|2012
|0-------|VM: CoreAnimation---------|27.01 MB-----|222--------|58
|0-------|VM: CG image--------------|7.40 MB------|3----------|189
|0-------|VM: UITextFieldLabel------|4.30 MB------|25---------|0

我使用工具观察到每次分页都会创建 4-6 个对象。但即使我离开 View Controller

它们也不会释放

我尝试在每次分页后使用以下方法从图层中删除动画。但它不起作用。

 - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{

CGFloat pageHeight = CGRectGetHeight(self.ImageSlider.frame);
NSUInteger page = floor((self.ImageSlider.contentOffset.y - pageHeight / 2) / pageHeight) + 1;
currentPage = page;
delegate.currentPage = page;
[delegate refreshTags];

[self unloadPageFromScrollView:currentPage-2];
[self unloadPageFromScrollView:currentPage+2];

[self loadScrollViewWithPage:currentPage - 1];
[self loadScrollViewWithPage:currentPage];
[self loadScrollViewWithPage:currentPage + 1];

}

- (void)unloadPageFromScrollView:(NSUInteger)page
{
@autoreleasepool {
if (page > docList.count-1) {
return;
}

if ((NSNull *)[self.viewControllers objectAtIndex:page] != [NSNull null]) {
PageViewController1 *controller = [self.viewControllers objectAtIndex:page];
for (CALayer* layer in [self.view.layer sublayers]) {
[layer removeAllAnimations];
}
[controller.view removeFromSuperview];

[self.viewControllers replaceObjectAtIndex:page withObject:[NSNull null]];

}
}

}

如果有人知道如何释放那些核心动画对象,请帮助我。

最佳答案

发现是内页引起的动画。

pageViewController(作为页面添加到 scrollViewviewController)内 viewWillDisappear:(BOOL)animated方法我添加了这个

    for (CALayer* layer in [self.view.layer sublayers])
{
[layer removeAllAnimations];
}

它解决了问题。

关于iphone - IOS 核心动画对象未释放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19024235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com