• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
再来一杯咖啡
博客园    首页    新随笔    联系   管理    订阅  订阅

关于自动释放池@autoreleasepool 面试提经常出的问题

通常面试会出一下类似的代码

 

-以下代码是否有问题

-如果有问题,如何修改?

看这段代码貌似没啥问题,但是面试官会这样问肯定是有问题的,仔细看看少了点神马,对就是少了一个自动释放池。会有内存问题

关键是第二问怎么修改。

网上有两种方法解决这个问题

第一种是类似以下的代码

 这个确实能解决自动释放池的问题,假设largeNumber很大,大到上千万

每一次循环,都会新建一个自动释放的对象,一旦出了作用域,会被添加到自动释放池中

自动释放池会在整个运行循环结束或者被耗尽时,才会向所有对象发送release消息!

于是又出现了第二种方法

 

 

至于这两种方法哪种好一点,防再测试下

 

结果证明第一个效率没有第二个的效率高 ,亲测的

posted @ 2014-12-24 14:30  再来一杯咖啡  阅读(195)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3