メモリーリークの実例

macOS Swift

メモリーリークの実例

macOS 10.12.6 / Xcode 9.2 / Swift 4.0
ARCの導入によりメモリーリークを起こすようなコーディングはほとんどなくなってきている。また、CGImageクラスは、Objective-Cでは未対応だったが Swiftでは対応済みになったように、ARCがカバーする領域は増えている。Swiftアプリケーションの作成過程で一応メモリリークのチェックを行っているが、そういう中でも発生したメモリーリークの稀有な実例を挙げていきたいと思う。

テキストフィールドへの代入

テキストフィールドにプログラムから値を代入するという何の変哲もない処理で謎のメモリーリークが発生する。(システムバグ?)
[memory_leak12]

オープンパネル

App Sandboxを OFFにしてパネルのオープンを実行するとメモリーリークが発生する。実行のたび必ず起こるのではないが、2〜3回に1回は発生する。
App Sandboxを ON、File Accessの User Selected Fieを Read Onlyに設定すれば発生しない。
[memory_leak2]