мои дорогие друзья.Не могли бы вы помочь мне выяснить, где у меня утечка памяти в моем приложении.
Есть два действия.
В первом упражнении у меня получился довольно большой статический ArrayList, состоящий из растровых изображений идругая необходимая информация.Я сделал его статическим, потому что мне нужно взять его из другого действия, а загрузка занимает много времени.
В другом упражнении у меня также есть одно статическое поле, которое используется в качестве ключа для получения данных, которые представлены вНамерение от предыдущего действия.
Если я пытаюсь запустить одно действие от другого и вернуться назад несколько раз, я выключаю ВМ.
Чтобы быть более ясным, вот фрагмент моегокод:
public class MoviesGallery extends Activity
{
...
private static ArrayList<Movie> films = new ArrayList<Movie>();
...
public void contextButtonsClickHandler(View v)
{
switch(v.getId())
{
case R.id.play_button:
Log.d("Context Button", "Play button has clicked");
mContextButtonHasPressed = true;
Intent filmData = new Intent(MoviesGallery.this, MovieInfo.class);
filmData.putExtra(MovieInfo.mPOS,mPOSITION_OF_CLICKED_ITEM);
startActivityForResult(filmData, 1);
break;
...
}
А это еще одно занятие:
public class FilmInfo extends Activity
{
public static String mPOS = "pos";
private int mNumOfFilm = -1;
private LinearLayout mWall;
...
protected void onCreate(Bundle savedInstanceState)
{
Bundle extra = getIntent().getExtras();
mNumOfFilm=extra.getInt(mPOS);
...
Drawable d = new BitmapDrawable(MoviesGallery.getMoviesArray().get(mNumOfFilm).getWall()));
mWall = (LinearLayout) findViewById(R.id.Wall);
mWall.setBackgroundDrawable(d);
...
setResult(0);
}