使用内存管理工具


简介

iOS下内存管理的基本思想就是引用计数,通过对象的引用计数来对内存对象的生命周期进行控制。具体到编程时间方面,主要有两种方式:

1:MRR(manual retain-release),人工引用计数,对象的生成、销毁、引用计数的变化都是由开发人员来完成。

2:ARC(Automatic Reference Counting),自动引用计数,只负责对象的生成,其他过程开发人员不再需要关心其销毁,使用方式类似于垃圾回收,但其实质还是引用计数。

面临的问题

根据苹果说明文档,面临的两个主要问题是:

释放或覆盖的数据仍然在使用。这将造成内存损坏,通常在应用程序崩溃,或者更糟,损坏用户数据。

不释放不再使用的数据会导致内存泄漏。分配的内存,内存泄漏不会释放,即使它从来没有再次使用。泄漏会导致应用程序的内存使用量日益增加,这反过来又可能会导致系统性能较差或死机。

内存管理规则

我们创建自己的对象,当他们不再需要的时候,释放他们。

保留需要使用的对象。如果没有必要必须释放这些对象。

不要释放我们没有拥有的对象。

可以用Xcode工具仪器的帮助下分析内存的使用情况。它包括的工具有活动监视器,分配,泄漏,僵尸等

分析内存分配的步骤

  1. 打开一个现有的应用程序。

  2. 选择产品,配置文件如下所示

mm_Profile

3.在以下界面中选择 Allocations 和 Profile。

mm_ProfileSelect

  1. 我们可以看到不同对象的内存使用情况

  2. 你可以切换视图控制器查看内存是否释放。

mm_Instruments_Allocations

6.同样我们可以使用 Activity Monitor 来查看内存在应用程序中的分配的情况。

mm_Instruments_ActivityMonitor

  1. 这些工具可以帮助我们了解内存的使用情况及在什么地方可能发生泄漏。

若文章对你有帮助,可以点赞或打赏支持我们。发布者:lyh会员,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/%e4%bd%bf%e7%94%a8%e5%86%85%e5%ad%98%e7%ae%a1%e7%90%86%e5%b7%a5%e5%85%b7/

(0)
lyhlyh会员认证作者
上一篇 2023年 4月 1日 下午9:19
下一篇 2023年 4月 1日 下午9:21

相关推荐

  • ld

    文章目录ld补充说明语法选项参数实例 ld 将目标文件连接为可执行程序 补充说明 ld命令 是GNU的连接器,将目标文件连接为可执行程序。 语法 ld(选项)(参数) ld [op…

    入门教程 2023年 12月 19日
  • jobs

    文章目录jobs概要主要用途选项返回值例子注意 jobs 显示作业的状态。 概要 jobs [-lnprs] [jobspec …] jobs -x command [args…

    入门教程 2023年 12月 19日
  • hping3

    文章目录hping3补充说明安装选项Hping3功能 防火墙测试端口扫描Idle扫描拒绝服务攻击文件传输木马功能 hping3 测试网络及主机的安全 补充说明 hping 是用于生…

    入门教程 2023年 12月 15日
  • wget

    文章目录wget补充说明语法选项参数实例 wget Linux系统下载文件工具 补充说明 wget命令 用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网…

    入门教程 2023年 12月 27日
  • dhcpd

    文章目录dhcpd语法选项例子 dhcpd 运行DHCP服务器 语法 dhcpd [选项] [网络接口] 选项 -p <端口> 指定dhcpd监听的端口 -f 作为前台…

    入门教程 2023年 12月 7日
  • lspci

    文章目录lspci补充说明语法选项实例 lspci 显示当前主机的所有PCI总线信息 补充说明 lspci命令 用于显示当前主机的所有PCI总线信息,以及所有已连接的PCI设备信息…

    入门教程 2023年 12月 19日
  • pvdisplay

    文章目录pvdisplay补充说明语法选项参数实例 pvdisplay 显示物理卷的属性 补充说明 pvdisplay命令 用于显示物理卷的属性。pvdisplay命令显示的物理卷…

    入门教程 2024年 3月 1日
  • smartmontools

    文章目录smartmontools安装语法选项参数实例以指定的间隔运行,同时又能通知硬盘的测试结果 smartmontools Smartmontools 是一种硬盘检测工具,通过…

    入门教程 2024年 3月 5日
  • free

    文章目录free补充说明语法选项实例 free 显示内存的使用情况 补充说明 free命令 可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。 语法 f…

    入门教程 2023年 12月 14日
  • seq

    文章目录seq补充说明语法选项实例 seq 以指定增量从首数开始打印数字到尾数 补充说明 seq命令 用于产生从某个数到另外一个数之间的所有整数。 语法 seq [选项]… 尾…

    入门教程 2024年 3月 4日
Translate »