美文网首页iOSObjective-c测试
xcode 之Allocations(内存分配)

xcode 之Allocations(内存分配)

作者: 潇湘阳阳 | 来源:发表于2015-06-05 15:15 被阅读4904次

    Allocations

    instrument工具跟踪应用的内存分配情况。该instrument工具要求你加载一个进程,以便它能收集进程开始之后的数据。拿【蜗牛安家app首页】为例,进行测试

    1,打开xcode中的instrument 选择工具为 Allocations (单独调出Allocations该工具时,也会调出VMTracker工具,官方给出的解释是:Adds the Allocations and VM Tracker instruments toyour document. Use this template to monitor memory and object-allocationpatterns in your program 个人理解为,如果你想要跟踪看一下内存分配的情况,所以需要添加跟踪工具(VMTracker)

    2,点击开始录制按钮,刷新app首页页面,收集到数据后,点击停止按钮

    该instrument工具捕获以下信息:

    类别(Category)通常是一个 Core Foundation 对象、Objective-C 类、或原始 内存块(block)。

    净分配字节数(Persistent Bytes):当前已经分配内存但是仍然没有被释放的字节的总 数。

    净分配数(#Persistent):当前已经分配内存但仍然没有被释放的对象或内存块的数量。

    临时分配数(#Transient):当前已经分配内存但仍然没有被释放的对象或内存块的数量。

    总分配字节数(Total Bytes):所有已经分配内存,而且包括已经被释放了的 字节的总数。

    总分配数(#Total):所有当前已经分配内存,包括已经被释放了的对象或内存 块的总数。

    临时分配/全部内存分配(Transient/Total Bytes):当前和全部分配数的直方图。如上图所示当比例变化时,直方条会变颜色,Instruments 应用通常给它们标示不同的颜色来指出分配模式以便进行进一步的研究。

    详细面板的数据表格包含了一个图形列(Graph),其中包含了表中的每一行的复选框。当 指定类别的复选框被勾选时,instrument工具在跟踪面板里面显示特定类别的图形。 Instruments 应用通常给每个图形类别赋一个颜色。如下图所示:

    根据数据,分析出结果

    相关文章

      网友评论

      • c5fbe40b45e1:Transient的意义表述有误吧
      • c96787cb33a7:请问怎么分析数据?例如怎么看有哪些分配是有问题需要优化的?
      • ANTI_JAM:净分配数(#Persistent):当前已经分配内存但仍然没有被释放的对象或内存块的数量。
        临时分配数(#Transient):当前已经分配内存但仍然没有被释放的对象或内存块的数量。

        大哥,我看了半天。这两个是一个东西吗?解释怎么一模一样
        思考着自己的未来:Persistent + Transient = Total
        Persistent : 没被释放的
        Transient :已被释放的
        Total :申请过的总数

      本文标题:xcode 之Allocations(内存分配)

      本文链接:https://www.haomeiwen.com/subject/epbdqttx.html