使用内存管理工具


简介

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

相关推荐

  • tftp

    文章目录tftp补充说明语法选项参数实例 tftp 在本机和tftp服务器之间使用TFTP协议传输文件 补充说明 tftp命令 用在本机和tftp服务器之间使用TFTP协议传输文件…

    入门教程 2024年 3月 11日
  • IOS GameKit

    文章目录简介实例步骤输出 简介 GameKit是iOS SDK中一个常用的框架。其核心功能有3个: 交互游戏平台Game Center, P2P设备通讯功能 In-Game Voi…

    2023年 4月 1日
  • setfacl

    文章目录setfacl补充说明选项 setfacl 设置文件访问控制列表 补充说明 setfacl命令 是用来在命令行里设置ACL(访问控制列表)。在命令行里,一系列的命令跟随以一…

    入门教程 2024年 3月 4日
  • dmidecode

    文章目录dmidecode补充说明语法选项实例 dmidecode 在Linux系统下获取有关硬件方面的信息 补充说明 dmidecode命令 可以让你在Linux系统下获取有关硬…

    入门教程 2023年 12月 7日
  • Pandas安装

    安装 pandas 需要基础环境是 Python,开始前我们假定你已经安装了 Python 和 Pip。 使用 pip 安装 pandas: pip install pandas …

    2023年 5月 16日
  • iOS 简介

    iOS之前被称为 iPhone OS,是一个由苹果公司开发的移动操作系统。 iOS的第一个版本是在2007年发布的,其中包括iPhone和iPod Touch。 2010年1月27…

    2023年 4月 10日
  • continue

    文章目录continue概要主要用途参数返回值例子注意 continue 结束本次循环,继续执行下一个for,while或until循环。 概要 continue [n] 主要用途…

    入门教程 2023年 12月 7日
  • dpkg-reconfigure

    文章目录dpkg-reconfigure补充说明语法选项参数实例 dpkg-reconfigure Debian Linux中重新配制一个已经安装的软件包 补充说明 dpkg-re…

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

    文章目录stat补充说明语法选项参数实例 stat 用于显示文件的状态信息 补充说明 stat命令 用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细。 语…

    入门教程 2024年 3月 11日
  • ping6

    文章目录ping6补充说明语法选项地址实例服务器 IPv6 Ping 失败可能原因 ping6 测试主机之间网络的连通性(ipv6) 补充说明 ping6命令 ping6 是 IC…

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