`

对Objective-C内存管理策略的理解

阅读更多

Objective-C的内存管理策略是基于“拥有关系”的。凡是被“拥有”的对象,不会被回收。对内存的管理,实际上就是对“拥有”关系的管理。

1. 通过开头名称为”alloc”,”new”,”copy”,”mutableCopy”的方法创建的对象,你对其有“拥有”关系。
2. 对于你想保持的对象,通过retain取得其“拥有”关系。
3. 你需要负责在合适的时机,释放你“拥有”的对象。
4. 你不能释放你没有“拥有”的对象。

总结来说就是,是你的(alloc, new, copy, mutableCopy, retain)你释放(release, autorelease),不是你的不要释放。

分享到:
评论

相关推荐

    iPhoneMac_Objective-C内存管理教程和原理剖析.pdf

    Objective-C 的内存管理虽然相对复杂,但通过理解其基本原理,如引用计数机制和自动释放池,以及使用现代的自动化工具如 ARC,可以有效地管理内存并编写出高质量的应用程序。掌握这些概念对于任何 Objective-C ...

    Objective-C高级编程 iOS与OS X多线程和内存管理

    《Objective-C高级编程:iOS与OS X多线程和内存管理》是一本深入探讨Objective-C在iOS和OS X平台上的核心特性的书籍。本书重点聚焦于多线程和内存管理两个关键领域,对于iOS和macOS应用开发人员来说,这是理解和优化...

    Objective-C内存管理课件.doc

    内存管理是编程中至关重要的部分,Objective-C 在内存管理方面采用了引用计数(Reference Counting)策略,直到iOS 5.0后引入了ARC(Automatic Reference Counting),但这并不改变对旧版内存管理机制的理解。...

    Objective-C - Learning Objective-C 2.0 Second Edition

    通过对C语言基础的巩固、面向对象编程的理解以及Objective-C语言特性的深入学习,读者可以逐步建立起坚实的Objective-C编程技能。无论你是新手还是有经验的开发者,本书都将为你提供宝贵的指导和支持。

    Objective-C语言核心语法

    总的来说,Objective-C语言的核心语法包括类的定义和消息传递机制,内存管理和对象生命周期管理,以及类型系统特别是`id`、`Class`和`SEL`的使用。这些知识点对于从C++转战Objective-C的开发者来说至关重要,理解并...

    在Objective-C中使用C++

    Objective-C使用ARC(Automatic Reference Counting)自动管理内存,而C++通常依赖于手动的`new`和`delete`。在Objective-C++中,可以为C++对象使用`__attribute__((objcNSObject))`来启用ARC,或者使用智能指针如`...

    Learn Objective-C for Java Developers

    - 学习Objective-C的内存管理策略,包括引用计数及其与Java垃圾回收的区别。 - 理解和使用Objective-C的动态特性,比如动态类型和动态绑定。 - 适应Objective-C的开发工具和环境,如Xcode,以及调试和测试Objective-...

    Programming in Objective-C - 6th Edition

    - **语言特点**:Objective-C是一种通用、面向对象的编程语言,它扩展了标准C语言,增加了面向对象功能和支持动态消息传递。 - **应用场景**:Objective-C最初由Stepstone公司开发,并被苹果公司在其操作系统(如...

    objective-c kindle mobi格式

    5. **内存管理**:Objective-C遵循ARC(Automatic Reference Counting)自动引用计数,确保对象生命周期的有效管理。处理大量数据时,要特别注意内存的使用,避免内存泄漏。 6. **界面设计**:为Kindle应用创建用户...

    Object-C内存管理2-对象之间的内存管理

    在Objective-C中,内存管理是程序稳定性和性能的关键因素。Objective-C使用了一种称为自动引用计数(Automatic Reference Counting,简称ARC)的机制来帮助开发者有效地管理内存。本篇文章将深入探讨对象之间的内存...

    iOS and macOS Performance Tuning Cocoa, Cocoa Touch, Objective-C, and Swift

    Swift作为现代的、快速的编程语言,它在语法和内存管理方面与Objective-C有很大不同,理解这些差异有助于写出更高效的代码。 书中会涵盖多个性能优化主题,例如: 1. **内存管理**:包括对象生命周期、引用计数...

    objective-c面试大全

    `retain`、`assign`和`copy`分别表示不同的内存管理策略,其中`retain`会增加对象的引用计数,`assign`仅做赋值,不涉及内存管理,`copy`用于深拷贝对象。 11. **控制类的作用**:在iPhone开发中,控制器类如...

    Objective-C 编程之道

    9. **内存管理**:Objective-C早期采用的是手动引用计数(MRC),后来引入了垃圾回收(GC)和ARC(Automatic Reference Counting),理解这些内存管理策略可以避免内存泄漏。 10. **GCD(Grand Central Dispatch)*...

    Objective-C程序设计 第6版

    2. **内存管理**:探讨了Objective-C中的内存管理策略,如引用计数(retain, release, autorelease)和ARC(Automatic Reference Counting),这是防止内存泄漏的关键。 3. **Category与Extension**:介绍了如何...

    Effective Objective-C 2.0

    3. **内存管理**:Objective-C的内存管理机制是其一大特色,本书对此进行了详尽的解释,包括引用计数、垃圾回收等相关技术。 4. **高级编程技巧**:这部分内容涉及到了更多高级话题,如Block、GCD(Grand Central ...

    Learn Objective-C On The Mac

    3. **NSObjects与内存管理**:Objective-C中的所有对象都是NSObject的子类。书中会详细阐述如何创建和使用NSObject以及其内存管理策略,包括引用计数(retain, release, autorelease)和后来引入的自动引用计数(ARC...

Global site tag (gtag.js) - Google Analytics