我不敢问这个问题,因为它不包含细节,也没有任何代码示例,但那是因为我在过去几年开发的三个完全不同的应用程序中遇到过它几周,我认为特定的代码可能只会掩盖问题。在网上搜索了一下,没有找到我遇到的现象的引用资料,所以我只是把它扔在那里,希望其他人也看到了同样的事情:'问题'是我构建的所有iOSOpenGL应用程序,对一个人来说,当我在Instruments中对它们进行分析时,它们运行得比它们独立运行时快得多。例如,帧速率大约快两倍(例如从30fps跳到60fps)。这既可以通过代码计时循环来衡量,也可以通过观察应用程序运行来衡量。仪器似乎在做一些神奇的事情。这是在设备上,而不是iOS模拟器上
我正在寻找有关如何使用Instruments的TimeProfiler来增强特定操作的建议。我有一个分页ScrollView,可以按需加载其内容。当滚动到一个新页面时,另一个页面将加载到右侧两页。当当前页面滚动50%的屏幕时会发生这种情况,并且在较慢的设备上,加载足以成为瓶颈,它会中断滚动的平滑度。卷轴感觉就像它在50%品脱时非常短暂地暂停,然后跳回Action。我应该注意到,我的应用程序没有网络组件,因此瓶颈不是在获取数据时出现的,而是在加载新View时出现的。在我努力改进这一点时,我需要对转换进行基准测试,以便评估我的增强效果。观看了WWDCsession后,我了解了时间分析器的基
是否有任何方法可以使用Instruments和/或Xcode识别代码中导致丢帧的确切位置(例如长时间运行的函数或等待锁定)?我试图使我的ScrollView的滚动尽可能平滑,FPS有时会下降到59甚至58,而大约一半的时间保持在60,所以我想知道到底是什么造成这种情况。我确实在CoreAnimation模板的CPUUsage工具中启用了RecordWaitingThreads标志,它确实显示了针状每个核心的使用率不时达到100%的峰值(接近几秒丢帧),但我似乎无法找到一种方法来识别代码中导致丢帧的确切位置——所有函数都被调用影响很小,百分比只有一位数(因此这很可能是等待锁定的主线程)。
我使用Instruments运行我的应用程序,发现我的方法之一“[UICustomButtonloadButton..]”分配的计数一直在增加(见下面的屏幕截图)-每当我滚动tableview和单元格可见时,就会触发有问题的方法。我的问题是1)计数实际上意味着什么?持续增加正常吗?2)计数的增加是我的滚动变得越来越滞后的原因吗? 最佳答案 工具中的计数显示您的应用程序创建的给定类的实例数仍然存在。所以增加到你的应用程序已经创建了它需要的所有对象的点是正常的,然后它应该或多或少保持不变(或多或少是因为你可能一直在创建和释放对象)。如果
无论我在Instruments中选择什么模板(Allocations、Leaks、ActivityMonitor)——当按下记录时,应用程序会立即崩溃。没有任何堆栈跟踪或任何警告-之后仪器有时会卡住并需要强行关闭。我正在使用XCode6.3.2。我还应该补充一点,这是在我的设备上发生的。 最佳答案 我找到了解决方法。通过XCode将应用程序安装到手机后,我终止了该应用程序。然后我转到Instruments并在Instruments中选择应用程序并按下记录。这会在手机上启动应用程序,Instruments开始工作!此外,启动Instr
我是iOSInstruments的新手。我正在尝试查找仪器中的内存泄漏并使用Xcode4.5.2并遵循本教程:http://soulwithmobiletechnology.blogspot.sg/2011/04/how-to-check-memory-leaks-in-xcode-4.html.我能够找到内存泄漏并能够按箭头转到内存泄漏项的历史记录。但是当我双击它们中的任何一个时,它不会显示导致内存泄漏的行。图像是这样的:我做错了什么?需要一些指导...谢谢.. 最佳答案 我一开始也很难找到它。方法如下:选择Leaks工具(很明显
我的应用经常崩溃,原因我很难理解。与其说是崩溃,不如说是它被外部“未知”进程杀死了:ProcessesNamerpagesrecent_max[reason](state)test-app167111167111[per-process-limit](frontmost)(resume)我可以理解,如果我要分配一个巨大的内存块,或者无数个更小的内存块,但我不会做任何离谱的事情。使用Instruments进行分析告诉我,该应用程序仅使用大约8MB,当我加载一些大内容时偶尔会激增至13MB左右。没有严重的泄漏,应用程序通常很快就会被杀死。一位同事开始使用ActivityMonitory检查
在最新版本的Instruments8.3中,显示设置按钮已被删除,取而代之的是文件->记录设置对话框。当使用分配工具时,我现在无法再激活自动快照,因为该选项从右侧面板中消失,记录选项对话框仅显示分配工具的值,而不显示虚拟机跟踪器的值。Recordoptionsdialog有人知道这个选项被移到哪里了吗?非常感谢 最佳答案 许多显示设置已移至跟踪文档窗口的底部。要回答有关VMTracker仪器自动快照的问题,请先从仪器列表中选择VMTracker仪器。在跟踪文档窗口的底部是一个快照按钮。单击该按钮,将打开一个弹出窗口供您打开自动快照。
自从我对Instruments6.1进行了最新更新后,我再也找不到“仅显示Obj-C”复选框。有人知道它是否已完全删除或在哪里可以找到它吗?请看附件。旧乐器复选框:新的乐器复选框: 最佳答案 浏览InstrumentsUserGuide通过Apple,您偶然发现了许多UI的屏幕截图。他们都缺少“仅显示obj-c”部分。他们确实从仪器中删除了该功能。其中一个原因可能是根据Xcodereleasenotesinstruments支持swift(Instruments支持Swift,在堆栈跟踪中显示Swift符号),因此他们必须更改功能的
XCode中的CoreAnimationinstrument显示每秒渲染的帧数,而不是传统意义上的帧率。如果屏幕上没有任何移动,它会显示0FPS,而没有考虑它以最大帧速率(大概是60FPS)显示静态图像这一事实。有什么方法可以按照其他人定义的方式来观察FPS值吗? 最佳答案 事情不是这样的。如果屏幕上没有任何变化,则没有渲染帧,因此帧速率实际上为零。屏幕仍然以60fps的速度刷新,但无论是否有可用的新帧,这种情况总是以60fps的速度发生。 关于ios-CoreAnimationinst