gpt4 book ai didi

objective-c - UILabel(CALayer) 在 ARC 中泄漏?

转载 作者:搜寻专家 更新时间:2023-10-30 20:05:45 26 4
gpt4 key购买 nike

我卡在了一个问题中,花了几天时间查看了很多答案。我的问题是当我在 Xcode 中选择 profile>Leaks 时,我看到 UILabel(CALayer) 在 Live Bytes 中总是变大。是正常的还是漏气了?我该怎么办?当我改变类(class)并回到有这些标签的类(class)时,它变得越来越大。就像他们一遍又一遍地分配但不释放旧的。

我在 h 中设置了我的标签。像那样归档

@property(weak,nonatomic)IBOutlet UILabel *lblNumbersSpelling1;
@property(weak,nonatomic)IBOutlet UILabel *lblNumbersSpelling2;
@property(weak,nonatomic)IBOutlet UILabel *lblNumbersSpelling3;
@property(weak,nonatomic)IBOutlet UILabel *lblNumbersSpelling4;

和,

- (void)viewDidUnload
{
[super viewDidUnload];

self.lblNumbersSpelling1=nil;
self.lblNumbersSpelling2=nil;
self.lblNumbersSpelling3=nil;
self.lblNumbersSpelling4=nil;
self.lblRecordSayfasiNot=nil;
// Release any retained subviews of the main view.
}

我这样做了,但我不确定我在 viewDidUnload 方法中所做的是否有必要。我使用 Xcode 5。提前致谢。

最佳答案

我的应用程序遇到了同样的问题,UILabel(CALayer) 在 Xcode 的配置文件工具中增加了内存使用量。最终,UILabel(CALayer) 的内存增加最终成为由另一个问题(特别是对委托(delegate)的强引用)引起的内存泄漏的症状。

我会检查以下内容以确保另一个问题不会导致 UILabel(CALayer) 被保留:

  1. 使任何 NSTimer 失效
  2. 移除 NSNotificationCenter 的所有观察者
  3. 确保您在 block 中使用对自身的弱引用
  4. 确保任何委托(delegate)属性都使用弱引用

来源:http://www.reigndesign.com/blog/debugging-retain-cycles-in-objective-c-four-likely-culprits/

关于objective-c - UILabel(CALayer) 在 ARC 中泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20328363/

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