HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 如何使用Xcode中的工具检查堆内存?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图用 Xcode中的仪器分析泄漏.这是我正在尝试的示例代码.

+(NSString *) getUniqueFilename
{
NSDate *time = [NSDate date];
NSDateFormatter* df = [NSDateFormatter new];
[df setDateFormat:@"MMddyyyyhhmmssSSS"];
NSString *timestring = [df StringFromDate:time];
NSString *filename = [NSString StringWithFormat:@"%@",timestring ];
//[time release];
// [df release];
// [timestring release];
return  filename ;
}

我每次捕获照片时都会使用此方法生成文件名.所有变量都是他的方法的本地变量.如果我尝试释放时间,df,timestring,在获取文件名后,我将消息发送到解除分配的实例.我确信如果我不释放这些变量,内存将会泄漏.我尝试使用乐器,得到了以下结果,就在这里.

现在我的问题是红色突出显示行的含义为79.6%? 20.4%的黄色行突出显示?一般来说红色会很危险.但%显示了什么?如何计算?当我检查调用树时,我会得到一个名为“Leaks”的列用于特定方法,并将@R_981_11262@00,234,560,2345,一些数字.这个数字是怎么说的.帮帮我.如果有人能为我提供理解仪器的良好链接,将会感激不尽.

解决方法

为了解释屏幕截图中的百分比,在getUniqueFilename:中分配的泄漏内存中有79.6%是在红色代码行中分配的.在getUniqueFilename:中分配的泄漏内存的20.4%是在黄色代码行中分配的.红色表示高百分比.它可能是也可能不是危险的.

为了解释Leaks列,它会告诉您方法中的泄漏次数以及方法调用的任何函数.它并不一定意味着方法本身存在许多泄漏.例如,Cocoa和Cocoa Touch应用程序以main()函数开头.如果main()函数在Leaks列中的值为100,则表示应用程序有100个内存泄漏,而不是main()有100个泄漏.

大佬总结

以上是大佬教程为你收集整理的ios – 如何使用Xcode中的工具检查堆内存?全部内容,希望文章能够帮你解决ios – 如何使用Xcode中的工具检查堆内存?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。