Google Maps APIのメモリーリーク問題 Part 2: ブラウザのリロードによるメモリーリークの蓄積

以前にもGoogle Maps APIのメモリーリーク問題を取り上げましたが、今回はまた違った問題です。Google Maps APIを用いたシステムでブラウザを何回もリロードすると、ブラウザがメモリーリークを起こします。Google Maps本家、はてなマップでも同様の症状が発生します。(IE6.0とFirefox1.06で確認済)

一般ユーザーのように普通の使い方をしていれば、この不具合は大きな問題ではありません。しかし、Google Maps APIを用いたシステムを開発する際に問題になります。なぜなら、開発中に行うデザインやコードの修正の度にブラウザをリロードして修正点を何回も確認する必要があるからです。開発マシンに搭載されているメモリーが少ないと、何十回もブラウザをリロードしているうちに、開発マシンが激しくスワップを起こし、使い物にならなくなります。

ただし、メモリーが圧迫されてきた時に一旦ブラウザを閉じてしまえば、メモリーの空き領域はかなり回復します。Google Maps APIを用いたシステムを開発で、このメモリーリークが原因で開発がまともにできなくなった時に、このブラウザを閉じる技を一度お試し下さい。また、今回の私の教訓からすると、できる限りハイスペックなマシンで開発した方が良さそうですね。(自宅の開発マシンはCPUがPentium4@1.5G、メモリーが256MBなので、もうそろそろ開発マシンとしては限界がきています。)