3

CALayerレンダリングを使用してMacOSXアプリケーションを開発しているときに、Appleの公式サンプルコード「CALayerEssentials」がOSX10.7.4を搭載した新しいMacBookPro(Mid 2012 15'Retina)でメモリリークを引き起こす可能性があることがわかりました。

メモリリークの概要:

  1. Xcodeで「CALayerEssentials」プロジェクトを実行します。(このプロジェクトは、Xcode Organizer-> OS X 10.7 Core Library-> Graphics&Animation-> Animation-> CALayerEssentialsにあります)
  2. Instruments Leaksテンプレートを開き、CALayerEssentialsプロセスIDに添付します。
  3. 記録を開始すると、リークは約10秒ごとにメモリリークが発生していることを示します。
  4. Leaks Objectパネルには、カウントとメモリサイズが増加するアイテム「Malloc48Bytes」があります。
  5. 約15分後、リークサイズは約2.48MBに増加します。
  6. 約78分後、リークサイズは約23.54MBに増加します。
  7. vmmap結果アドレス領域のリークアドレスをチェックすることにより、すべてのアドレスが次の行のようにQuartzCore_0x6bb2a800と関係があることを示します。

MALLOC_OTHER 086af000-086d1000 [136K] rw- / rwx SM = COW QuartzCore_0x6bb2a800

CALayerEssentialsを実行し、そのメモリリークを監視するスクリーンショットは次のとおりです。http: //smartsweetie.com/uploads/screenshot1.png

メモリリークマシンのシステム構成は次のとおりです。

  • マシン:MacBook Pro(Mid 2012、15'Retina)
  • プロセッサー: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 X10.7.4を搭載した新しいMacBookProでのCALayerメモリリークに関する既知の問題はありますか?または、この問題をさらに調査するためのアドバイスはありますか?

4

0 に答える 0