gpt4 book ai didi

iphone - iOS CALayer 内存泄漏仅在设备上

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:46:50 25 4
gpt4 key购买 nike

Instruments 工具报告 CALayer 的内存泄漏。我有一个自定义类,它是 UIViewController 的子类;在 viewDidLoad() 中,我用 CAGradientLayer 实例化一个 View ,并将该 View 作为当前 View 的 subview 插入,例如:

UIControl *view = [[[UIControl alloc] initWithFrame:CGRectMake(10, 10, 460, 220)] autorelease];
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = view.bounds;
gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor whiteColor] CGColor], (id)[[UIColor colorWithRed:0.85 green:0.85 blue:0.85 alpha:1.0] CGColor],nil];
gradient.startPoint = CGPointMake(0, 0);
gradient.endPoint = CGPointMake(1, 1);
[view.layer insertSublayer:gradient atIndex:0];
view.layer.masksToBounds = YES;
[view.layer setCornerRadius:5];

[self.view insertSubview:view atIndex:1];

当我在模拟器中运行代码时,一切正常。但是,当我在设备 (iOS 4.3.3) 上运行它时,Instruments 工具报告 CALayer 泄漏。当我注释掉这段代码时,没有泄漏。这里有什么问题?

编辑:我发现只有当我将 subview 插入到具有 ScrollView 的 View 中时它才会泄漏(所以我的带有渐变层的 subview 插入在 View 和 ScrollView 之间)。

最佳答案

释放用户界面和层因为模拟器在系统配置中运行所以不会出现问题但与系统相比,设备的内存较少

关于iphone - iOS CALayer 内存泄漏仅在设备上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6223754/

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