标签: instruments

什么触发仪器中的"彩色复制图像"和"颜色命中绿色和错过红色"?

" 仪器用户指南"有这样的说法:

  • 彩色复印图像.将青色叠加层放在Core Animation复制的图像上.

但这并不能解释为什么要复制图像.从一个复制的图像到另一个复制图像似乎没有明显的模式,尽管它是规则的和可重复的.

该文档目前甚至没有提到颜色点击绿色和红色小姐,但我想它可能有一些做CALayershouldRasterize财产.

有任何想法吗?

core-animation instruments ios

24
推荐指数
1
解决办法
2993
查看次数

Xcode 4中的仪器

我试图在xcode 4中打开乐器,但却找不到办法.通常在Xcode 3中,我们会运行 - >运行性能工具...但我真的没有找到任何这样的事情在xcode 4中做..有人能告诉我如何做到这一点?

xcode instruments ios4

23
推荐指数
3
解决办法
1万
查看次数

如何摆脱Objective-C中的常驻脏内存?

我观看了Apple的WWDC 2010视频,内容是使用Instruments进行高级内存分析,从中我可以找到很多常驻脏内存.我意识到拥有如此多的驻留脏内存是一件坏事(可能是我的应用崩溃了很多的解释......),但我不知道如何解决它.我应该在哪里看?

乐器向我展示了许多对我来说看起来像胡言乱语的潜在有用信息,例如:

% of Res  Type                      Resident Size
18%       VM_ALLOCATE (8192 pages)  32.00 MB
Run Code Online (Sandbox Code Playgroud)

这是"脏"类别 - 只有256 MB的设备上有32 MB的常驻脏内存,对吧?:)还有几个像这样的大块.我如何追溯到我的仪器代码?或者我应该忘记仪器并在我的代码中查找特定问题?

xcode objective-c instruments ios

23
推荐指数
1
解决办法
1万
查看次数

乐器在哪里进入Xcode 4.3?

我刚刚从4.2更新到Xcode 4.3并且"仪器"不再存在.

我试图从Launchpad运行它,但被告知这是不可能的,因为Instruments在垃圾箱里.

Xcode 4.3卸载了4.2,但它似乎没有打扰安装新版本的Instruments.

xcode instruments xcode4.3

22
推荐指数
2
解决办法
6513
查看次数

如何使用Instruments并在Command Lines应用程序中显示控制台

我在OSX上使用Xcode来开发命令行C应用程序.我还想使用Instruments来分析和查找内存泄漏.

但是,在从仪器内启动应用程序时,我找不到显示控制台的方法.我也无法附加到正在运行的命令行进程(它退出时出错):

这是一个示例代码:

#include <stdio.h>
#include <signal.h>
#include <stdlib.h>
#include <setjmp.h>

static sigjmp_buf jmpbuf;

void handler(int sig) {
    char c[BUFSIZ];

    printf ("Got signal %d\n", sig);
    printf ("Deseja sair? (s/n) ");

    fgets(c, sizeof(c), stdin);

    if(c[0] == 's') {
        exit(0);
    } else {
        siglongjmp(jmpbuf, 1);
    }
}

int main(void) {
    char buf[BUFSIZ];

    signal(SIGINT, handler);

    sigsetjmp(jmpbuf, 1);

    while(1) {
        printf(">>>");
        fgets(buf, sizeof(buf), stdin);
        printf ("Introduziu: %s\n", buf);
    }

    return(0);
}
Run Code Online (Sandbox Code Playgroud)

这是我启动Instruments后尝试连接到xcode中正在运行的进程时出现的错误:

[Switching to process 1475]
[Switching to process 1475]
Error while running hook_stop: …
Run Code Online (Sandbox Code Playgroud)

c debugging macos xcode instruments

21
推荐指数
2
解决办法
1万
查看次数

XCode 4运行泄漏仪器

这可能是一个愚蠢的问题.

如何使用XCode 4中的仪器运行应用程序,例如Leaks?

我没有看到像过去那样的选项,而且我环顾四周,要么我在某处错过了,要么就在我面前.

谢谢

instruments xcode4

21
推荐指数
2
解决办法
2万
查看次数

Time Profiler仪器中的"Self"和"#Self"是什么意思?

文档只是说它意味着"符号自称的时间",但这意味着什么?"#Self"是什么意思?

当我使用乐器时,如果"#Self"等于100,那么"Self"也是100.0.

iphone instruments ios

21
推荐指数
1
解决办法
2910
查看次数


从Xcode运行UIAutomation脚本

有没有人成功在Xcode中设置自动化UIAutomation测试?

我正在尝试在我的Xcode项目中设置一个目标,该目标应该运行我准备的所有UIAutomation脚本.目前,此目标的唯一构建阶段是此运行脚本块:

TEMPLATE="/Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate"
MY_APP="/Users/Me/Library/Application Support/iPhone Simulator/6.0/Applications/564ED15A-A435-422B-82C4-5AE7DBBC27DD/MyApp.app"
RESULTS="/Users/Me/Projects/MyApp/Tests/UI/Traces/Automation.trace"
SCRIPT="/Users/Me/Projects/MyApp/Tests/UI/SomeTest.js"
instruments -t $TEMPLATE $MY_APP -e UIASCRIPT $SCRIPT -e UIARESULTSPATH $RESULTS
Run Code Online (Sandbox Code Playgroud)

当我构建此目标时,它会在几秒钟后成功,但脚本实际上并未运行.在构建日志中,我收到以下错误:

instruments[7222:707] Failed to load Mobile Device Locator plugin
instruments[7222:707] Failed to load Simulator Local Device Locator plugin
instruments[7222:707] Automation Instrument ran into an exception while trying to run the script.  UIATargetHasGoneAWOLException
+0000 Fail: An error occurred while trying to run the script.
Instruments Trace Complete (Duration : 1.077379s; Output : /Users/Me/Projects/MyApp/Tests/UI/Traces/Automation.trace)
Run Code Online (Sandbox Code Playgroud)

我很确定,我的javascript和我的运行脚本都是正确的,因为如果我在bash中运行完全相同的仪器命令它按预期工作.这可能是Xcode中的一个错误吗?

xcode instruments ui-automation

20
推荐指数
1
解决办法
8530
查看次数

presentViewController性能下降 - 取决于presentING控制器的复杂性?

我提出了一个视图控制器:

SCAAboutController2 *controller = [[SCAAboutController2 alloc] initWithNibName:nil bundle:nil];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:controller];
[self presentViewController:navController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

在呈现之前,设备会挂起3-4秒.我试图用仪器来诊断这个,但似乎大部分时间花在main-

在此输入图像描述

这是相同的配置文件,但系统库取消隐藏:

在此输入图像描述

这些消息都不是我能识别的,所以我不确定如何开始调试我的性能问题.

我在别处读到我应该检查主代码是否在主线程上执行.但是,以下更改并未改进任何内容:

dispatch_async(dispatch_get_main_queue(), ^{
        SCAAboutController2 *controller = [[SCAAboutController2 alloc] initWithNibName:nil bundle:nil];
        UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:controller];
        [self presentViewController:navController animated:YES completion:nil];
    });
Run Code Online (Sandbox Code Playgroud)

我很快就没有关于如何进步的想法.我如何进一步调查,和/或可能是缓慢呈现的根本原因?

编辑

一些令人困惑的发现:

  • 我已从显示的视图控制器中删除所有代码.性能不受影响.
  • 我有另一个控制器,我通过一个不同的按钮从同一个地方出现.它同样缓慢.
  • 在呈现ING控制器具有相当多子视图和约束的-甚至是一些子视图控制器.删除填充这些代码的代码可以解决问题.
  • viewWillDisappear在呈现控制器中没有添加任何内容.

编辑2

我发现问题集中在我在主(呈现)控制器中添加的一系列布局约束.具体来说,我遍历一些子控制器(类型teamController)并添加约束:

[self.browser addConstraint:[NSLayoutConstraint constraintWithItem:teamController.view
                                                         attribute:NSLayoutAttributeWidth
                                                         relatedBy:NSLayoutRelationEqual
                                                            toItem:self.browser
                                                         attribute:NSLayoutAttributeWidth
                                                        multiplier:1
                                                          constant:0]];
Run Code Online (Sandbox Code Playgroud)

只有10个子控制器.同样奇怪:如果我使用以下代码,我就没有这样的问题了:

[self.browser.contentView addConstraint:[NSLayoutConstraint constraintWithItem:teamController.view
                                                                     attribute:NSLayoutAttributeWidth
                                                                     relatedBy:NSLayoutRelationEqual
                                                                        toItem:nil
                                                                     attribute:NSLayoutAttributeNotAnAttribute
                                                                    multiplier:1
                                                                      constant:200]];
Run Code Online (Sandbox Code Playgroud)

我仍然非常困惑为什么这些约束会导致另一个模态的呈现挂起,以及为什么约束的一个变体表现出与另一个不同的显着不同.

iphone performance cocoa-touch instruments ios

20
推荐指数
3
解决办法
1万
查看次数