美文网首页
主题八《内存管理》

主题八《内存管理》

作者: 东方奇迹 | 来源:发表于2020-10-21 16:59 被阅读0次
截屏2020-09-25 下午10.00.50.png 截屏2020-10-11 下午2.48.25.png 截屏2020-10-13 下午2.03.57.png 截屏2020-10-13 下午2.27.32.png 截屏2020-10-13 下午4.16.47.png 截屏2020-10-14 下午5.34.11.png 截屏2020-10-14 下午5.34.32.png 截屏2020-10-14 下午5.16.42.png 截屏2020-10-14 下午5.45.42.png 截屏2020-10-21 上午10.34.45.png 截屏2020-10-21 上午10.36.21.png 截屏2020-10-19 上午11.09.36.png 截屏2020-10-19 上午11.05.28.png 截屏2020-10-21 下午2.29.51.png 截屏2020-10-21 下午3.18.25.png 截屏2020-10-21 下午4.49.17.png 截屏2020-10-21 下午4.51.31.png 截屏2020-10-21 下午4.54.46.png 截屏2020-10-21 下午4.57.37.png

1、CADisplayLink、NSTimer会对target产生强引用,如果target又对它们产生强引用,那么会引起循环引用,那么有两种解决的方案分别是什么(使用block、使用代理对象NSProxy)?

2、NSTimer依赖于RunLoop,如果RunLoop的任务过于繁重,可能会导致NSTimer不准时,而GCD的定时器会更加准时,因为GCD是直接跟系统内核挂钩的,它不依赖于RunLoop,所以非常非常准时,并且不需要自己销毁,可将GCD定时器装成工具类来使用?

3、IOS程序的内存布局?

4、从64bit开始,iOS引入了Tagged Pointer技术,用于优化NSNumber、NSDate、NSString等小对象的存储 ?

5、OC的内存管理?

6、“深拷贝”和“浅拷贝”?

7、引用计数的存储?

在ARM64bit中,引用计数可以直接存储在优化过的isa指针中,也可能存储在SideTable类中,SideTable类中的成员变量refcnts是一个存放着对象引用计数的散列表。

8、weak指针的实现原理?

(1)runtime维护了一个存储所有weak的散列表weak_table_t,它存储在SideTable结构体里。
(2)weak_table_t是一个哈希表,其中key为所指向对象的指针,value为weak指针的地址数组。
(3)当一个对象被销毁时,会自动调用dealloc,此时会查看weak_table_t散列表,根据对象的地址取出weak清空,并将指向当前对象的弱指针置为nil,防止野指针产生。

9、Runloop和Autorelease?

相关文章

  • 主题八《内存管理》

    1、CADisplayLink、NSTimer会对target产生强引用,如果target又对它们产生强引用,那么...

  • javaScript 内存管理机制

    大家好,今天分享的主题为 JavaScript 内存管理机制,本次分享将从以下三部分进行讲述: js 内存管理与 ...

  • javaScript 内存管理机制

    大家好,今天分享的主题为 JavaScript 内存管理机制,本次分享将从以下三部分进行讲述: js 内存管理与 ...

  • iOS内存管理详解

    目录 block内存管理 autorelease内存管理 weak对象内存管理 NSString内存管理 new、...

  • 第10章 内存管理和文件操作

    1 内存管理 1.1 内存管理基础 标准内存管理函数堆管理函数虚拟内存管理函数内存映射文件函数 GlobalMem...

  • 操作系统之内存管理

    内存管理 包括内存管理和虚拟内存管理 内存管理包括内存管理概念、交换与覆盖、连续分配管理方式和非连续分配管理方式(...

  • 汇编二

    (八)内存分段管理 1.物理地址=基础地址(段地址*0x10)+偏移地址 所以采用分段的内存管理: 2.在编程时可...

  • JavaScript —— 内存管理及垃圾回收

    目录 JavaScript内存管理内存为什么需要管理?内存管理概念JavaScript中的内存管理JavaScri...

  • OC - OC的内存管理机制

    导读 一、为什么要进行内存管理 二、内存管理机制 三、内存管理原则 四、MRC手动内存管理 五、ARC自动内存管理...

  • 3. 内存管理

    内存管理 内存管理包含: 物理内存管理; 虚拟内存管理; 两者的映射 除了内存管理模块, 其他都使用虚拟地址(包括...

网友评论

      本文标题:主题八《内存管理》

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