はてブロ@ama_ch

https://twitter.com/ama_ch

WEB+DB PRESS Vol.74でJavaScriptのメモリリークについて書きました!

WEB+DB PRESSで連載中の「JavaScript活用最前線」が2年目に突入しました!
第7回目となる今回は、JavaScriptメモリリークChrome Developer Toolsのヒーププロファイラを使った解析方法を書きました。

WEB+DB PRESS Vol.74

WEB+DB PRESS Vol.74

近ごろはJavaScriptでもメモリ管理を気にかける機会が増えていると感じます。少し前まではメモリリークというとIEのJSとDOMの間で循環参照がナントカみたいな話が多かったですが、最近はシングルページのリッチなWebが増えたことで、純粋にオブジェクトのライフサイクルをきちんと管理しないといけなくなりました。

連載の内容は、まずオブジェクトのライフサイクルとガベージコレクションの動きを解説して、実際にリークが発生するサンプルコードをヒーププロファイラで解析していくような構成になっています。実はconsole.log()がリークの原因になることや、Backbone.jsでよくハマるZombie Viewにも触れています。

Backbone.jsをはじめとするMVCフレームワークJavaScriptに新しいパラダイムを導入してくれましたが、それによってメモリリークが発生するというのは避けたいですね。このような罠にはまらないためにも、オブジェクトのライフサイクルをきちんと把握・管理することが重要です。

新人にドヤ顔で「それリークしてるよ」って言うためにも、このあたりはぜひ把握しておきたいですね。逆に新人さんは「それってメモリリークしませんか?」と強力なスタートダッシュを決めるチャンスです。

新人を応援するWEB+DB PRESS Vol.74 新人応援号は本日発売です!ぜひご覧ください!