美文网首页将来跳槽用
菜鸟教程——OC内存管理

菜鸟教程——OC内存管理

作者: iOS谢先森 | 来源:发表于2017-07-21 00:30 被阅读0次

一、什么是内存管理

内存管理是指软件运行时对计算机内存资源分配和使用的技术,其最主要的目的是如何高效,快速的分配,并且在适当的时候释放和回收内存资源。

二、为什么需要内存管理

由于移动设备的内存极其有限,所以每个APP所占的内存也是有限制的,当app所占用的内存较多时,系统就会发出内存警告,这时需要回收一些不需要再继续使用的内存空间,比如回收一些不再使用的对象和变量等。

管理范围:任何继承NSObject的对象,对其他的基本数据类型无效。

本质原因是因为对象和其他数据类型在系统中的存储空间不一样,其它局部变量主要存放于栈中,而对象存储于堆中,当代码块结束时这个代码块中涉及的所有局部变量会被回收,指向对象的指针也被回收,此时对象已经没有指针指向,但依然存在于内存中,造成内存泄露。

三、OC内存管理原则

只要还有人在使用某个对象,那么这个对象就不会被回收;

只要你想使用这个对象,那么就应该让这个对象的引用计数器+1;

当你不想使用这个对象时,应该让对象的引用计数器-1;

(1)谁创建,谁release

(a)如果你通过alloc,new,copy来创建了一个对象,那么你就必须调用release或者autorelease方法

(b)不是你创建的就不用你去负责

  (2)  谁retain,谁release

只要你调用了retain,无论这个对象时如何生成的,你都要调用release

相关文章

  • 菜鸟教程——OC内存管理

    一、什么是内存管理 内存管理是指软件运行时对计算机内存资源分配和使用的技术,其最主要的目的是如何高效,快速的分配,...

  • C相关文章

    1. C语言菜鸟学院教程 2. C语言内存管理

  • 内存管理

    一.内存基本介绍 1、OC内存管理的基本概念 2、OC内存管理的范围​管理范围:管理任何继承自NSObject的对...

  • 内存管理

    目录一、内存分区 1、RAM和ROM 2、内存的五大分区二、内存管理 1、OC内存管理是指什么?OC内存管理的本质...

  • Lesson 0-1 Objective-C basic

    6.OC 手动内存管理 OC 内存管理原则: 只要使用 alloc, new, copy, mutableCopy...

  • OC的内存管理

    1、OC的内存管理 OC是通过引用计数进行内存管理的,其核心思想遵循“谁创建谁释放;谁引用谁管理”。 OC的内存管...

  • iOS之从MRC到ARC内存管理详解

    概述 在iOS中开发中,我们或多或少都听说过内存管理。iOS的内存管理一般指的是OC对象的内存管理,因为OC对象分...

  • iOS五大块知识总结之内存管理

    1.1 管理的原因 只有OC对象才需要管理内存,非OC对象(如:char、int、folat)则不需要管理内存的本...

  • iOS 中堆和栈的区别以及冒泡排序

    在引入堆和栈之前,先要知道,iOS中的内存管理范围: OC对象需要进行内存管理,非oc对象不需要进行内存管理,比如...

  • OC的内存管理

    最近系统地复习了OC的内存管理,所以总结下. OC是通过引用计数(reference count)来管理内存.自...

网友评论

    本文标题:菜鸟教程——OC内存管理

    本文链接:https://www.haomeiwen.com/subject/rhuzcxtx.html