当前位置: 首页 > news >正文

iOS性能分析-Xcode Instruments Allocations 分析APP内存使用情况

iOS性能分析-Xcode Instruments Allocations 分析APP内存使用情况

https://blog.csdn.net/Nathan1987_/article/details/82838960

 


GabrielxPanda 2018-09-25 14:28:38 1133 收藏
分类专栏: iOS开发 文章标签: xcode instruments
版权

Allocations图.png

All Heap & Anonymous VM 堆内存+虚拟内存
All Heap Allocations 堆内存
All Anonymous VM 虚拟内存

# Persistent 表示在内存中的 object 的数量,正在使用的内存

# Transient 表示存在过但是目前已被销毁的 object 的数量,其占用的内存已被释放
1、Statistics统计项

category:对象、内存块类别
# Persistent 表示在内存中的 object 的数量,正在使用的内存

# Transient 表示存在过但是目前已被销毁的 object 的数量,其占用的内存已被释放
2、Call Trees统计项

symbol name:方法名称
count方法被调用的次数
3、Allocations List统计项

address:内存块的地址
4、Generations统计项

Snapshot:快照名
Timestamp:快照时间
HeapGrowth:自从上次快照以来的增长数量

Generations.png

可以对每个动作的前后进行Generations,对比内存的增加,查看使内存增加的具体的方法和代码所在位置。
在右侧Generation Analysis里点击Mark Generation,会产生一个Generation,切换到其他页面或一段时间产生了另外一个事件时再点Mark Generation来产生一个新的Generation,这样反复,生成多个Generation,查看这几个Generation会看到Growth的大小,可以点进去查看相应占用较大的线程里右侧Heaviest Stack Trace里查看对应的代码块,然后进行相应的处理。
————————————————
版权声明:本文为CSDN博主「GabrielxPanda」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Nathan1987_/article/details/82838960

相关文章:

  • UE 手游在 iOS 平台运行时内存占用太高?试试这样着手优化
  • UE4 Sequence学习笔记
  • UE4中的相机操控方案
  • 对ue4 sequence的学习和理解
  • [gdc19]《战神4》中的全局光照技术
  • 5 种避免使用 C# lock 关键字的方法
  • [玩转UE4动画系统>功能模块] 之 Advanced Locomotion System V4 的工具函数及工具宏详解
  • Lua5.4新特性
  • 探究光线追踪技术及UE4的实现 -- good
  • Unity游戏项目性能优化总结
  • 【UE4源代码观察】观察DDC(DerivedDataCache)
  • Chrome 抓包
  • float.Parse 在不同区域小数表示是不一样的
  • C# GC 垃圾回收
  • Android Studio NDk调试(基于gradle-experimental插件与LLDB)
  • Google 是如何开发 Web 框架的
  • 时间复杂度分析经典问题——最大子序列和
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • 345-反转字符串中的元音字母
  • Android Studio:GIT提交项目到远程仓库
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • Cookie 在前端中的实践
  • Git学习与使用心得(1)—— 初始化
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • java中具有继承关系的类及其对象初始化顺序
  • node 版本过低
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Python利用正则抓取网页内容保存到本地
  • vuex 学习笔记 01
  • 成为一名优秀的Developer的书单
  • 如何用vue打造一个移动端音乐播放器
  • 如何在 Tornado 中实现 Middleware
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 微信小程序开发问题汇总
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 小程序开发中的那些坑
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • Semaphore
  • 国内开源镜像站点
  • #includecmath
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • (11)MATLAB PCA+SVM 人脸识别
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (七)理解angular中的module和injector,即依赖注入
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转)AS3正则:元子符,元序列,标志,数量表达符