iOS 检测内存泄漏Analyze出现的一些问题
来源:互联网 发布:linux部署javaweb项目 编辑:程序博客网 时间:2024/05/27 14:13
首先,让我们大呼三声:
NO WARNING ! NO ANALYZE!
NO WARNING ! NO ANALYZE!
NO WARNING ! NO ANALYZE!
1. Value stored to 'XXX' during its initialization is never read
这种情况通常是定义了一个对象或者变量而在后续没有使用,多占用了内存,并不是发生了内存泄露,这里说两个我遇到的问题。
CGFloat height = WIDTH * 0.2f; if (indexPath.row == 0) { height = 100; } else if (indexPath.row > 4) { height = 200; }else { height =50; } return height;在这里height变量就会报该问题,因为我们初始化的值并没有在后续代码中使用,此时我们只需要将第一行修改为
<span style="white-space:pre"></span>CGFloat height;即可。
AnswerSheetCell *cell = [[[NSBundle mainBundle] loadNibNamed:@"AnswerSheetCell" owner:self options:nil] lastObject]; cell = [cv dequeueReusableCellWithReuseIdentifier:cell_Identifier forIndexPath:indexPath]; cell.backgroundColor = [UIColor clearColor];此时同样会报该问题,因为cell的初始化和复用同时执行,会造成每次使用cell的时候都被初始化,并且在随后再次复用。
<pre name="code" class="objc"> AnswerSheetCell *cell = [cv dequeueReusableCellWithReuseIdentifier:cell_Identifier forIndexPath:indexPath];
if(cell == nil){
<span></span> cell = [[[NSBundle mainBundle] loadNibNamed:@"AnswerSheetCell" owner:self options:nil] lastObject];
<span></span> cell.backgroundColor = [UIColor clearColor];
}
按照cell的标准写法就没问题啦!
2. Potential leak of an object stored into 'XXX'
例如此时的cfuuid:
NSString *udidString; udidString = [[self class] objectForKey:@"deviceID"]; if(!udidString) { CFUUIDRef cfuuid = CFUUIDCreate(kCFAllocatorDefault); udidString = (NSString*)CFBridgingRelease(CFUUIDCreateString(kCFAllocatorDefault, cfuuid)); [[self class] setObject:udidString forKey:@"deviceID"]; }
For every object that you create with a CF*Create function, you should release it with CFRelease. This is part of the Core Foundation ownership policy.
3.Value stored to 'XXX' is never read
一般来说,这个是定义的变量或者对象在赋值或者初始化之后,在后续的代码中每次使用均重新赋值或者重新初始化的情况下,会出现这样的分析问题。
4.The left operand of '&' is a garbage value
这里说明是在数据赋值的时候
0 0
- iOS 检测内存泄漏Analyze出现的一些问题
- iOS 检测内存泄漏Analyze的一些解决办法
- iOS10检查内存泄漏时出现的问题以及解决办法--Analyze检测的User-facing text should use localized
- iOS 检测内存泄漏Analyze-Potential leak of an object stored into 'soundFileURLRef'
- 关于内存泄漏检测的一些方法
- 内存泄漏的一些问题
- iOS检测内存泄漏的方法
- Analyze 分析内存 检测出现 User-facing text should use localized string macro 警告问题
- 内存泄漏的检测
- 内存泄漏的检测
- iOS 内存泄漏问题
- iOS内存泄漏问题
- Analyze查找静态内存泄漏
- [iOS] dataWithBytes*引起的内存泄漏问题
- 经验之道:最有效的iOS内存泄漏检测
- 经验之道:最有效的 iOS 内存泄漏检测
- iOS积累--iOS 出现内存泄漏的几种原因
- iOS内存检测工具Analyze的使用
- oracle修改密码,以及密码过期
- 安装用于学习C语言的linux系统基本步骤
- 是什么卡住了大数据的应用?
- Collection 和 Map 遍历过程的区别
- WebView捕获用户输入的信息
- iOS 检测内存泄漏Analyze出现的一些问题
- 如何学习开源项目及Ceph的浅析
- php中Session使用方法详解
- Maven获取包的时候错误和build错误 ArtifactTransferException: Failure to transfer
- ural1297Palindrome【后缀数组+RMQ最长回文子串】
- jquery使用
- MongoDB 进阶(命令\固定集合)
- CAS基于http认证实现SSO文件配置及说明
- 检查异常和未检查异常不同之处