目前我正试图通过Xcode运行来记录我的iOS应用程序的平均,高和低帧率.一世:
在Xcode中加载项目.
转到产品 - >构建 - >分析并将其构建到我的设备(iPad 2)
长按播放按钮,然后选择配置文件
出现提示时选择Core Animation乐器.
按"录制"按钮,启动应用程序.
进行5分钟的测试.帧速率显示在工具中.
按"停止"按钮可停止应用程序.
单击xcode菜单中的"Instrument"以尝试进行演示.
此时,该选项显示为灰色,没有任何解释.任何人都可以对此有所了解吗?
试图通过仪器能量记录确定我的应用程序在哪里吃掉手机电池.
我记录了从一个不受限制的iPhone使用该应用程序(按照Apple的指示),并尝试了较旧的建议.
但是,如下所示,能源使用水平从不显示任何数据:
为什么能量使用水平没有显示,即使我从一个不受限制的iPhone录制会话并导入仪器?
我正在 swiftui 中创建一个小部件,其中包含预填充的模拟 json,存储在本地。
模拟 JSON 有以下数据:
{
"id":"111",
"title":"some dummy title",
"date":"1609865285",
"thumbnail":"mock4"
}
Run Code Online (Sandbox Code Playgroud)
并且mock4图像存储在Assets文件夹中。
我在时间线方法中加载模拟数据,如下所示:
for mockItem in storyManager.getMockData() {
let item = WidgetFeedItem(newsData: mockItem)
items.append(item)
}
let entry = FeedItemEntry(date: Date(), items: entries)
if let nextDate = Calendar.current.date(byAdding: .minute, value: 15, to: Date()) {
let timeline = Timeline(entries: [entry], policy: .after(nextDate))
completion(timeline)
}
struct WidgetFeedItem: Hashable {
var newsTitle = ""
var newsDate = Date()
var newsID = ""
var newsimageURL = ""
var articleLink = "" …
Run Code Online (Sandbox Code Playgroud) 我正在使用xcode Instruments来跟踪分配和泄漏.我的应用程序崩溃了.在独立运行常规调试或发布版本时,它不会崩溃,只有在仪器下:
任何想法的想法都非常感激地收到....
Exception Type: EXC_BAD_ACCESS (SIGBUS) Exception Codes: KERN_PROTECTION_FAILURE at 0x0002b2e0 Crashed Thread: 0 Thread 0 name: Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libobjc.A.dylib 0x34499c96 objc_msgSend + 14 1 ZZZ Test Suite 0x000a3d74 0x95000 + 60788 2 CoreFoundation 0x308e4c3c -[NSObject(NSObject) release] + 24 3 CoreFoundation 0x308e519a CFRelease + 62 4 CoreFoundation 0x308e7eb4 _CFAutoreleasePoolPop + 140 5 Foundation 0x341b41c4 -[NSAutoreleasePool release] + 92 6 UIKit 0x309e5f08 _UIApplicationHandleEvent + 5784 7 GraphicsServices 0x30269e70 PurpleEventCallback + 660 8 CoreFoundation 0x30957a90 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ …
大家好,我的应用程序在iPad上正常运行.但是当我使用仪器时间分析器运行应用程序时,它会崩溃.
可能是什么原因?
我看到了一些帮助
但没有得到太多帮助.
对于分析多线程应用程序,为每个线程设置一个名称对我来说非常有用.
初始谷歌搜索会显示pthread_setname_np()(请参阅此处),但在使用时,它似乎不会出现在Instruments中.
有没有办法从C应用程序执行此操作?
如何在运行仪器时分析位置信息的处理?
如果我在启动仪器时运行 GPX 文件,应用程序将重新启动。
如果我没有运行 GPX 文件,则当我运行仪器时,选择位置会显示为灰色。
我正在尝试了解如何使用xcode在Mac上解释仪器分析器的结果。我主要是想了解体重/体重和自身体重的区别。
这是我的结果,未经修改
结果A:
Weight Self Weight Symbol
1.98 s 16.8% 45.00ms bool doSomething(xxx)
Run Code Online (Sandbox Code Playgroud)
这是我修改后的结果(应该更快)
结果B:
Weight Self Weight Symbol
1.38 s 19.0% 47.00ms bool doSomething(xxx)
Run Code Online (Sandbox Code Playgroud)
我的问题是体重和自重有何不同?此链接说明
权重该符号及其子元素花费在运行上的时间,以及相对于同时运行的其他符号花费的运行时间的百分比。
自我权重符号花费的运行时间。
我想知道这种方法从头到尾执行需要多长时间?在我的示例中,在停止事件探查器之前,我已经运行了3次此方法。有人可以解释一下体重与体重之间的区别吗?从以上两个结果中看哪个更快。有人可以解释为什么吗?
我正试图在我的应用程序中找到内存问题.
当我使用Xcode的调试导航器来解决内存问题时,我发现应用程序的整体使用率有所增加.对于特定的流程,当我来回走动时,我看不到内存持续存在.
然而,如果我使用Allocations进行相同的流程和仪器,我确实看到3Mbs每次来回都会持续存在.
Xcode的调试导航器不可靠,或者他们正在测量不同的东西或其他什么东西?!
编辑:
所以我被告知差异是由于构建配置.好.但是,如果我去'编辑方案'并将构建配置更改为'release'并在我的设备上运行.那么我可以期待Xcode调试导航器的工作原理相同吗?或者仍有一些差异?如果是这样的话?
xcode memory-leaks memory-management allocation xcode-instruments
我有一个A类的对象a1,我想找到所有对象a1具有强引用的对象.
有办法吗?
我想知道这个的原因是因为,a1似乎没有被释放.
objective-c dealloc ios xcode-instruments automatic-ref-counting
xcode ×5
ios ×4
instruments ×2
objective-c ×2
allocation ×1
c++11 ×1
crash ×1
dealloc ×1
ios14 ×1
ios4 ×1
ipad ×1
iphone ×1
memory-leaks ×1
pthreads ×1
swift ×1
swiftui ×1
widgetkit ×1