OC - 内存管理

OC - 内存管理 首页 / iOS入门教程 / OC - 内存管理

iOS中的内存管理最初是非ARC(自动引用计数),在这里无涯教程必须保留和释放对象。现在,它支持ARC,而无涯教程不必保留和释放对象。 Xcode在编译时自动完成这项工作。

内存管理问题

根据Apple文档,内存管理中的两个主要问题是-

  • 释放或覆盖仍在使用的数据,它会导致内存损坏,并通常导致您的应用程序崩溃或更糟的是,损坏的用户数据。

  • 不释放不再使用的数据会导致内存泄漏。即使不再使用已分配的内存也不会释放它,这称为内存泄漏。泄漏会导致您的应用程序使用越来越多的内存,从而可能导致系统性能下降或(在iOS中)您的应用程序被终止。

内存管理规则

  • 无涯教程拥有无涯教程创建的对象,随后当不再需要它们时,无涯教程必须释放它们。

  • 使用保留来获得未创建对象的所有权。您也必须在不需要它们时释放它们。

    无涯教程网

  • 不要释放您不拥有的对象。

在ARC中处理内存

您无需使用release并保留在ARC中,因此,删除视图控制器后,将释放所有视图控制器的对象,同样,任何对象的子对象在释放时也会被释放。请注意,如果其他类强烈引用了一个类的对象,则不会释放整个类。因此,建议对代表使用弱属性。

内存管理工具

无涯教程可以借助Xcode工具工具来分析内存的使用情况。它包括诸如Activity监视器,分配,泄漏,僵尸进程等工具。

分析内存步骤

步骤1 - 打开现有应用程序。

步骤2 - 选择"Product",然后选择"Profile",如下所示。

iOS Tutorial

步骤3 - 在下面显示的下一个屏幕中选择分配,然后选择配置文件。

链接:https://www.learnfk.comhttps://www.learnfk.com/ios/ios-memory-management.html

来源:LearnFk无涯教程网

iOS Tutorial

步骤4 - 无涯教程将看到不同对象的内存分配,如下所示。

步骤5 - 您可以在视图控制器之间切换,并检查内存是否已正确释放。

iOS Tutorial

步骤6 - 同样,无涯教程可以使用Activity监视器来查看分配给应用程序的总内存,而不是分配。

iOS Tutorial

步骤7 - 这些工具可帮助无涯教程访问内存消耗情况,并定位可能发生泄漏的位置。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Linux性能优化实战 -〔倪朋飞〕

许式伟的架构课 -〔许式伟〕

SRE实战手册 -〔赵成〕

Linux内核技术实战课 -〔邵亚方〕

Go 并发编程实战课 -〔晁岳攀(鸟窝)〕

技术领导力实战笔记 2022 -〔TGO 鲲鹏会〕

手把手带你搭建推荐系统 -〔黄鸿波〕

B端产品经理入门课 -〔董小圣〕

深入拆解消息队列47讲 -〔许文强〕

好记忆不如烂笔头。留下您的足迹吧 :)