errand softのブログ

Androidのアプリ開発に関する記事を書いていきます。

Androidプログラミング リソース解放はnullでやるべし

 Androidのアプリ開発でバッテリ消費量低減のために、アプリ終了時にリソースを解放する処理を入れることが多いと思う。

 たとえば、こんな感じ。

protected void onPause() {
   super.onPause();
   if (null != recorder) {
      recorder.release();
   }
}

 

 でも、実はこの手の解放メソッドだけだと解放されないことが多い。きちんと解放するにはもう一歩進んで、nullを代入しておけば確実である。

protected void onPause() {
   super.onPause();
   if (null != recorder) {
      recorder.release();
      recorder = null;
   }
}

 

 ちょっと格好悪いが、たったこれだけで解放が早まって端末のメモリに余裕ができるものなら安いものである。