有限であるモバイル端末のメモリを無駄に消費するアプリは悪だ。そんなアプリのソースコードレビュー担当者の目は節穴だ。 と言われないためか否かは知らないけど、Android Developers - Avoiding Memory Leaksでは、Androidアプリを作成する上で、メモリリークが発生するパターンとその対処法を色々と紹介している。(英語) 要点のみを自分が見直し易いようにまとめつつ、説明の足りてない「非staticな内部クラスが駄目な件」について書いてみる。 そもそもメモリリークするん?Java実行環境下では、ガベージコレクタによるメモリ管理が行われているため大抵の場合は意識せずともメモリをいい感じに回収してくれる。だが、ガベージコレクタの動作を妨げるようなコードを書いてしまうと、いつまで経っても解放されるべきメモリが解放されなくなる。これが今回のお題であるJavaにおけるメモ