iOS开发中内存的分配

在iOS开发的过程中,会创建很多的对象、变量、常量等,这些常量、变量根据位置的不同存储的内存也是不相同的,分为以下五种类型:

  • 栈区(stack):这个区域又编译器进行创建销毁,默认大小有限制(不同平台大小不同)。主要是存储函数的参数值,局部变量等。栈是系统数据结构,对应线程/进程是为唯一的。存取速度快,效率高,且同一个栈内的数据是共享的,如创建了一个int a = 10;系统会在栈区寻找有没有10的内存地址有就直接赋值,没有再创建。随函数的创建创建,随函数的销毁销毁。
  • 堆区(heap):主要是存储创建的对象以及数值数据。存储方便,灵活性高、动态分配。分配内存为系统会维护一个剩余内存的链表,需要用到内存时,系统会进行链表进行便利,提供不小于需求的内存空间,并会将多余的内存空间重新放在链表中。
  • 全局区:进程中创建的全局变量以及静态变量会存储在该区域。
  • 代码区:存储函数的二进制代码
  • 文字常量区:存储字符串常量,进程启动创建,进程销毁销毁。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值