Xcode性能检测

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xcode性能检测相关的知识,希望对你有一定的参考价值。

参考技术A 1)Xcode菜单栏Product选择Profile,开始进行编译

2)在模板中选择Time Profiler点击choose

3)在新的弹出的模板中选择左上角红色按钮(这是开始键)

4)可以选择曲线途中的任意一段查看性能/CPU的相关使用

如何使用 Xcode 检测对象的双重释放?

【中文标题】如何使用 Xcode 检测对象的双重释放?【英文标题】:How to use Xcode to detect double release of object? 【发布时间】:2011-08-04 00:34:19 【问题描述】:

我在电子邮件按钮的回调中释放了一个 MFMailComposeViewController 对象,这仅仅是因为我创建了它,我认为我这样做是间歇性的,但并不总是使我的应用程序崩溃。

如何使用 Xcode 的检测程序来检测这种情况?

谢谢。

【问题讨论】:

【参考方案1】:

可以将NSZombieEnabled环境变量设置为YESProduct > Edit Scheme...,选择Run(Product Name),点击参数 选项卡并编辑环境变量列表)。使用NSZombie,对象不会被释放,而是变成僵尸。向他们发送消息会将错误记录到控制台,而不是使用EXC_BAD_ACCESS 崩溃。这样你就可以知道是不是真的是MFMailComposeViewController惹了麻烦。

但保留和释放视图控制器可能甚至没有必要。如果你在创建MFMailComposeViewController后立即展示它,并且在它被关闭后不再使用它,则无需保留它:

- (IBAction)composeMessage:(id)sender 
    MFMailComposeViewController *mailComposeViewController = [[[MFMailComposeViewController alloc] init] autorelease];
    mailComposeViewController.mailComposeDelegate = self;
    [self presentModalViewController:mailComposeViewController animated:YES];


- (void)mailComposeController:(MFMailComposeViewController *)mailComposeViewController didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error 
    // Present error to the user if failed
    [self dismissModalViewControllerAnimated:YES];

【讨论】:

以上是关于Xcode性能检测的主要内容,如果未能解决你的问题,请参考以下文章

iOS性能优化:Instruments

微信性能检测工具有啥用

perf查看检测相关性能

建筑工程施工过程质量检测试验规定都有哪些

Android基础性能检测与分析

《iOS APP 性能检测》