Androidでオブジェクト破棄あるいはメモリリーク

大量に画像を扱うアプリを作成してますが、
別のActivityを起動したときに
途中でメモリリークですよ、
みたいなエラーがLogcatに出て死にます(´;ω;`)ブワッ
 

18000000-byte external allocation too large for this process.
VM won't let us allocate 18000000 bytes
nativeCreate,createBitmap OutOfMemoryError
E/Bitmap(27409): createBitmap error!

 
おそらく多くの方は、
偉大な先人のブログで解決するはずですが、
自分の場合は、改善せず。
暇なメモ帳: Androidのソースコードレビュー(メモリリーク)
 
 
結局、使わなくなった変数に null を叩き込んで、
いらないことを明示してやることで解決。
 

// つぎのActivityに遷移するため、
// もう使わなくなった View
this.linearLayout = null;
this.listView = null;

// つぎの Activity に遷移
Intent intent = new Intent();
intent.setClass(this,NextActivity.class);
startActivity(intent);
finish();
Remove all ads