2011-02-04 19 views
0

イメージを使用するゲームを作成しました。私のゲームはポートレートとランドスケープモードです。AndroidでOutofMemoryエラーが発生しました

によって引き起こさ:java.lang.OutOfMemoryErrorを:ビットマップのサイズ私はこの5 6回行った後、1つの方向から他に切り替えると、私はその のための2つの異なるレイアウトを持って 、それは エラーが似ている近いエラーを強制できますVMの予算は

誰もが解決策を知っ超えますか?スイッチングの向きですべての画像をクリーンアップする方法はありますか?事前

+3

が先に求められている多くの質問があります。 この記事は、理由を説明します。チェックこのhttp://stackoverflow.com/search?q=OutOfMemoryError%3A+bitmap+size+exceeds+VM+budget –

+0

DJKまた、このポストは、このような問題へのリンクを持っているhttp://stackoverflow.com/questions/4656961/howビットマップサイズ超過-vm-budget/4657285#4657285&yeah +1 @Creative MITian – 100rabh

答えて

1

で おかげで私はImageViewの中で毎回の向きの変更を設定されている画像をたくさん持っている。このリンクから http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html

を解決しました。 私はちょうどbackgorundの画像は、静的にすると問題はこれが唯一drawble 1時間を設定します

private static Drawable BackgroundP; 
private static Drawable BackgroundL; 

if (conf.orientation == Configuration.ORIENTATION_LANDSCAPE){ 
    if(BackgroundL == null){ 
     BackgroundL = getResources().getDrawable(R.drawable.backgroundland); 
    } 
} else { 
    if(BackgroundP == null){ 
     BackgroundP = getResources().getDrawable(R.drawable.backgroundport); 
    } 
} 

解決しました。

これが誰にも役立つことを願っています。

関連する問題