CALayer渲染在OSX 10.7.4的新MacBook Pro上导致内存泄漏

时间:2012-10-18 05:48:19

标签: xcode macos memory-leaks calayer xcode-instruments

在使用CALayer渲染开发Mac OSX应用程序时,我们发现Apple官方示例代码'CALayerEssentials'可能会导致新MacBook Pro(2012年中期15'视网膜)与OSX 10.7.4的内存泄漏。

内存泄漏一般说明:

  1. 使用Xcode运行'CALayerEssentials'项目; (你可以在Xcode Organizer下找到这个项目 - > OS X 10.7核心库 - >图形&动画 - >动画 - > CALayerEssentials)
  2. 打开Instruments Leaks模板,并附加到CALayerEssentials进程ID;
  3. 开始记录,泄漏将表明每10秒钟就会发生内存泄漏;
  4. 在Leaks Object面板中,有一个项目'Malloc 48 Bytes',计数和内存大小增加;
  5. 约15分钟后,泄漏量将增加至约2.48 MB;
  6. 大约78分钟后,泄漏量将增加到约23.54 MB;
  7. 通过检查vmmap结果地址区域中的泄漏地址,表示所有地址都与QuartzCore_0x6bb2a800有关,如下所示:
  8. MALLOC_OTHER 086af000-086d1000 [136K] rw- / rwx SM = COW QuartzCore_0x6bb2a800

    以下是运行CALayerEssentials并监控其内存泄漏的屏幕截图: http://smartsweetie.com/uploads/screenshot1.png

    这是内存泄漏机器系统配置:

    • 机器:MacBook Pro(2012年中,15'视网膜)
    • 处理器:2.3 GHz Intel
    • Core i7内存:8 GB 1600 MHz DDR3
    • 图形:NVIDIA GeForce GT 650M 1024 MB
    • 软件:Mac OS X Lion 10.7.4(11E2620)

    但是,在其他计算机上运行相同的CALayerEssentials不会出现CALayer内存泄漏问题。

    • 机器:MacBook Pro(2011年末,15')
    • 处理器:2.2 GHz Intel Core i7
    • 内存:4 GB 1333 MHz DDR3
    • 图形:AMD Radeon HD 6750M 512 MB
    • 软件:Mac OS X Lion 10.7.4(11E53)

    在使用OS X 10.7.4的新MacBook Pro上,CALayer内存泄漏是否存在任何已知问题? 或者有什么建议来进一步调查这个问题?

0 个答案:

没有答案