我正在使用iOS Instrumentation的Allocations Profiling模板。 我创建了UIView类的扩展,它为未添加到视图层次结构的视图拍摄快照。我想仔细检查我的新方法消耗多少内存。 我发现我的新方法从堆中分配288字节,如下图所示。 iOS Instrumentation:如何解释内存分配模板?
然后我导航到相应的方法,我发现有一个大的内存量如预期。看看下面的图片。
我的问题是:
- 为什么我不能看到这些堆数量庞大?
- 这个庞大的内存在哪里分配?
- 是否有反映此拥抱数字的特定详细视图(Call Tree除外)?
请注意,我不是问什么是为视图拍摄快照的最佳方式。我已经熟悉Apple method snapshotView。我正在做这个练习只是为了测试我对iOS中内存使用的理解。
罗布感谢您的答案,但我不知道我怎么能涉及您的答案,我的3个相关的问题? –
你的第一个问题是“为什么我没有看到分配”在我的调用树中,我的回答是“(a)不要像你那样过滤调用树;并且(b)确保选择围绕有问题的分配“。你的第二个问题是“这个大分配是从哪里来的”,没有人能为你解答,也没有向你展示识别分配的不同方法(并且我向你展示了三种不同的方法来完成这个任务)。你的第三个问题是寻找分配的其他机制是什么,再次,我向你展示了一些替代方案。我不知道我还能做什么。 – Rob
感谢罗布为你的答案,但巨大的记忆不会出现没有任何过滤器,这是因为你的答案不帮助我。至于b,你没有回答。最后为c,我真的很感激你的重要选择,但他们都没有透露这个巨大的记忆。因此,我将等待社区中任何可能帮助我回答这些问题的投入。再次感谢。 –