2012-02-28 8 views
2

マップアクティビティを作成するアプリケーションを作成しました。そこから、ユーザーはメニューに切り替わり、地図アクティビティに戻ります。約10これらのループの後、次のエラーが発生します。Android Memory Leak? MapViewでビットマップがVMバジェットエラーを超えました

02-28 21:35:54.780: E/AndroidRuntime(23502): java.lang.OutOfMemoryError: bitmap size exceeds VM budget 

私はアンバインドドローアブルソリューションを試みたここhttp://www.alonsoruibal.com/bitmap-size-exceeds-vm-budget/と様々な他のスレッドで提案されているが、それは助けにはなりませんでした。

唯一役立つのは、finish()を使用してマップアクティビティを手動で終了することですが、これは不自然なナビゲーション動作を引き起こします。ここで

は私のコードです:

MapActivityクラス

public class TestMapsForgeActivity extends MapActivity { 

View mapView; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    mapView = new MapView(this); 
} 

@Override 
public boolean onCreateOptionsMenu(android.view.Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.map_menu, menu); 
    return true; 
}; 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    startActivity(new Intent(getApplicationContext(), MenuActivity.class)); 
    return true; 
} 
} 

MenuActivityクラス

public class MenuActivity extends Activity { 
@Override 
public boolean onCreateOptionsMenu(android.view.Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.main_menu, menu); 
    return true; 
}; 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    startActivity(new Intent(getApplicationContext(), TestMapsForgeActivity.class)); 
    return true; 

} 

} 

私は理解していないどのようなガベージコレクタは明らかにしない限り、適切にMapActivityを破壊しない、あります私は仕上げ()でそれを閉じます。しかし、アプリケーションがより多くのメモリを必要とするとすぐにアンドロイドはfinish()を呼び出すべきではありませんか?

誰でもこの問題について考えていますか?

ありがとうございます!

答えて

2

私は、あなたが閉じていない別のアクティビティを開始しようとしていることが問題だと思います。

これを試してみてください:テントフラグCLEAR_TOPを設定する

Intent i = new Intent(getApplicationContext(), TestMapsForgeActivity.class); 
    i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    startActivity(i); 

、他の人に前のactivitysを終了します、ここで続きを読む:http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP

+0

おかげで助けた多くのことを、。 – Damnum

関連する問題