美文网首页
底层23:内存管理-面试题

底层23:内存管理-面试题

作者: 张无奈 | 来源:发表于2020-09-10 20:01 被阅读0次

    使用CADisplayLink,NSTimer有什么注意点?

    CADisplayLink、NSTimer 都是基于RunLoop来实现的,会对target产生强引用。

    如下:

    nstimer改进方法:

    利用消息转发机制实现一下方法:

    NSTimer还可以调用block的方法,使用__weak弱引用,解决。

    介绍下内存的几大区域

    讲一下你对iOS内存管理的理解

    autorelease在什么时机会被释放?

    方法理由局部变量,出了方法后会立即释放吗?

    ARC都帮我们做了什么?

    LLVM + Runtime系统相互协调作用的结果

    ARC利用LLVM编译器自动帮我们生成release、retain、autorelease的代码

    像弱引用的存在需要RunTime来支持。

    weak指针的实现原理?

    将弱引用存到一个哈希表中,到时候这个对象要销毁,就取出当前对象所对应的弱引用表,把表里的弱引用都给清除掉。

    相关文章

      网友评论

          本文标题:底层23:内存管理-面试题

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