アプリがクラッシュする原因となるメモリの問題が発生しています。MainActivity では、ImageView に大きなビットマップがありますが、大きなビットマップを持つ他のアクティビティにいるとクラッシュが発生します。
MainActivity を離れて別のアクティビティに移動する場合、ビットマップを null に設定する必要がありますか?
@Override
protected void onStop() {
super.onStop();
myImageView.setImageBitmap(null);
}
または、Java GC を利用して、ビットマップに割り当てられたメモリをリサイクルできますか?