美文网首页iOS进阶完善自我/CodingiOS开发技巧
Instruments的使用(内存优化\内存分配)

Instruments的使用(内存优化\内存分配)

作者: 要上班的斌哥 | 来源:发表于2015-12-22 19:15 被阅读1742次

在App需要进行优化内存使用和优化内存分配的时候,找了网络上的一些关于Instruments的资料,发现都是一些比较旧的资料,于是自己去官网看了一下教程,看了下Instruments这个App的使用方式,顺带做了一些笔记,拿出来分享给大家。大家有什么好的建议或者文章有什么错误,都欢迎在评论中指出,我会及时更正。

对于Instruments这个App,它只是用来帮助找出和定位App中存在的问题,至于问题的具体解决还是我们自己来解决的,不过它也是一把利刃。

1、打开Instruments这个App,选择对应的模版,你要调试的设备,你准备优化的App,因为我是准备查看App的内存分配的,所以选择Allocations模板,点击Choose确认。

2、选择对应的设备或者模拟器,选择对应的App。开始、停止和暂停按钮如图所示,时间线就是你使用Instruments跟踪分析你App时候对应的分析图形。监测设置可以配置你需要监测的选项如何配置看具体需求和监测设置的说明。

3、点击开始监测,时间线部分显示内存分配的示意图,主要左边选择Allocations模板,可以使用右边的Make Generation功能记录某个时间点的内存分配具体信息(打点采样)。打点采样之后可以看到一个采样数据列表。

4、展开打点采用列表中的一项,可以看到对应的类名字和对象数据,还可以看到方法的调用栈。当你看到这个类创建了这么多个对象的时候,你也应该会意识到这里存在一定某种程度的内存分配问题。右边可以看到方法调用栈可以找到对应的源代码的大概位置。

5、双击对象查看对象的具体信息

6、点击 右边系统方法调用栈的某个方法,查看方法的具体详情

7、查看方法的汇编代码。

参考资料https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/index.html#//apple_ref/doc/uid/TP40004652-CH3-SW1

官方资料对Instruments这个app的功能进行详细介绍,建议需要什么模块就去看对应的模块指南,不用从头到尾看。

如果你觉得我的这篇文章对你有一丁点儿作用的话,那么希望你能在下方给个赞哈,让我知道这文章已经起了它应该的作用,谢谢!

相关文章

  • Instruments的使用(内存优化\内存分配)

    在App需要进行优化内存使用和优化内存分配的时候,找了网络上的一些关于Instruments的资料,发现都是一些比...

  • Redis内存优化

    Redis内存优化 1.内存消耗 1.1内存使用统计 属性名属性说明used_memoryRedis 分配器分配的...

  • iOS内存优化

    内存分析 静态分析 Analyze 动态分析 Instruments 可以查看内存分配情况Allocations ...

  • iOS 性能优化 - Allocations分析内存分配

    iOS 性能优化 - Allocations分析内存分配 iOS 性能优化 - Allocations分析内存分配

  • iOS 使用Instruments优化内存性能

    iOS 使用Instruments优化内存性能 问题 项目中使用到图片合成视频,发现内存增长十分的迅速,导致一些因...

  • 内存管理/run time机制

    内存分配instruments 里面的leaks和allocation OC 内存管理 1.基本原理 1.1 为什...

  • javascript内存管理

    内存声明周期 分配你所需要的内存 使用分配的内存(读写) 不再需要时释放内存 内存分配 javascript在声明...

  • part2

    1.性能优化相关instruments的使用dSYM内存地址解析 对象啥名字图像性能减少view个数减少使用opa...

  • iOS内存优化

    内存优化工具 Instruments的Allocations 这个工具能显示出应用的实际内存占用,并可以按大小进行...

  • Unity性能优化1 2 3

    堆内存优化 就目前Unity所使用的Mono版本而言,Mono堆内存分配特点是,一旦分配,就不会返还给系统,无论堆...

网友评论

  • 妖妖零幺幺:我想知道怎样通过汇编代码追溯到源代码
  • 3e44e127e9fe:你好,我问一下 ,为啥我用真机的时候,只能定位到内存地址,用模拟机的时候,就能定位到代码,我想用真机也定位到代码 怎么弄啊,谢谢请指教 :smile:
  • puppySweet:谁做过视频裁剪。我现在拍的时候分辨率是1280x720,16:9 。然后用边长为屏幕宽的正方形的拍摄画面给用户 ,拍完裁剪才成720x720 。这样裁剪出来的分辨率也是720x720 ,并且裁剪出来的画面和用户拍时候的画面一样是吧。
  • hauteschwarz:很好 其实官方的教程都很详细 比论坛上讲的都好 谢谢了 :smile:

本文标题:Instruments的使用(内存优化\内存分配)

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