关于 autoreleasePool 的理解

来源:6-7 自动释放池相关面试问题

HWHZSY

2018-06-07

于海老师你好,我暂时有几点不是很理解:

  1. autoreleasePool 是双向链表结构,这个结构的意义或者作用体现在哪里?

  2. 源码中有出现 hotPage() 这样一个方法,应该也有相应的 hotPage 概念,不知到如何理解?是否跟第1问有关?

  3. 视频中说到的 栈的 next  指针 和 AutoreleasePoolPage 中的成员变量 next 是同一个意思吗?

            谢谢老师抽空回答!

写回答

1回答

于海

2018-06-08

一个page大约是1024B 可以根据实际情况以添加一个page的方式动态增长
添加需要autorelease对象需要移动指针,释放需要回退指针 由于以page作为单元增长空间,那么双向链表的特点刚好可以满足,一般我们解决一个问题都是要思考问题的特点是什么,现有掌握的技术点的特点是什么,如果有一种方式刚好匹配,那么就是解决方案。

Next指针和数据结构当中提到的是同一个

1
3
HWHZSY
回复
于海
好的,明白老师的意思!
2018-06-09
共3条回复

资深大牛带你深度剖析ios高级面试

从BAT/TMD名企真题入手,结合源码及应用,构建完整iOS知识体系

1750 学习 · 600 问题

查看课程