12、iOS系统内存机制

作者: MartinCQ | 来源:发表于2017-06-08 15:05 被阅读618次
内存机制特点
  • 有限的可用空间
  • 低内存警告
  • 没有内存交换机制
    就是在内存紧张的时候不会把暂时不用的内存置换到硬盘上,PC机有这个机制
  • 使用虚拟内存机制
    内存分页5kB为一个Page,并不是所有Page都会被映射到内存上,Page有三种状态
    • Nonresident 表明该Page没有映射到内存上
    • Resident and clean 当时readonly文件加载到内存中的Page是clean memory,如framework、可执行文件、通过mmap(内存映射)方式读取的文件都是Resident and clean,就是内存紧张的时候会被unload出去,而需要的时候又load回来
    • Resident and dirty 非clean的page都是dirty,这种内存只有在进程被杀死的时候才能被收回。
      malloc申请的内存如果没用过就是Nonresident状态,用了就是 dirty状态
      mmap进来的文件用了哪哪就是clean状态其他地方是Nonresident状态
简述内存分区情况
  • 代码区:存放函数二进制代码
  • 数据区:系统运行时申请内存并初始化,系统退出时由系统释放,存放全局变量、静态变量、常量
  • 堆区:通过malloc函数或new函数等操作符操作的得到,需要程序员自己管理
  • 栈区:函数模块内申请,函数结束时自动释放,存放局部变量,函数变量

相关文章

  • 12、iOS系统内存机制

    内存机制特点 有限的可用空间 低内存警告 没有内存交换机制就是在内存紧张的时候不会把暂时不用的内存置换到硬盘上,P...

  • MRC下和ARC下Autorelease的异同

    1. Autorelease简介 Autorelease是iOS开发的一种内存管理机制,用来延迟内存释放。系统在每...

  • iOS进阶学习

    iOS 内存探秘 本文深入浅出的介绍了 iOS 系统的内存机制以及开发者所需要注意的问题GMTC 上分享滴滴出行 ...

  • 12.iOS中的ARC内存管理机制

    12.iOS中的ARC内存管理机制 1. @property 声明属性 1.1 本质 1.2 在 @protoco...

  • 内存管理

    ARC内存管理机制详解理解 iOS 的内存管理

  • iOS内存管理及优化

    iOS内存管理的基本介绍: 1.iOS使用的是虚拟内存:段式虚拟内存+页式虚拟内存。 2.iOS没有Swap机制,...

  • iOS里的内存泄露

    前言 要讲关于iOS里的内存泄露,那就需要了解一下iOS的内存管理机制。现在基本上我们使用的是ARC机制,在iOS...

  • iOS面试知识点

    1、ios内存管理机制 iOS内存管理机制的原理是引用计数,当这块内存被创建后,它的引用计数0->1,表示有一个对...

  • ios常见面试题总结

    1.谈一谈IOS内存管理机制。 IOS内存管理机制的原理是引用计数,当这块内存被创建后引用计数加1,这时若果有另一...

  • 内部管理初步,协议概述

    内存管理方式概述: OC2.0提供两种内存管理方式:垃圾回收机制(gc)和引用计数;gc用于mac系统开发,iOS...

网友评论

    本文标题:12、iOS系统内存机制

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