2012-07-04 3 views
2

Мой первый пост ... вы знаете ...Высвобождение ресурсов в андроида

Я создал класс:

public class MyPanel extends SurfaceView implements SurfaceHolder, 
     SurfaceHolder.Callback { 
    private MediaPlayer shooting = new MediaPlayer(); 
    public Panel(Context context, int screenWidth, int screenHeight) { 
     super(context); 
    shooting = MediaPlayer 
       .create(ctx, Utils.getRawResIdFromName("gunshot")); 
    } 
    void anotherMethod(){ 
    //... 
    shooting.start(); 
    } 
//....other stuff.... 
} 

Теперь метод OnCreate своей деятельности класса прост:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
      ... some stuff 
    final MyPanel panel = new MyPanel(this, newWidth, newHeight); 
    } 
... other methods 
} 

Мой вопрос здесь в том, как освободить ресурсы после выхода пользователя из этой активности? Я не знаю, как освободить инстанцированный панели объектов и все объекты, созданные в нем, как MediaPlayer, графика ....

Благодаря

askanaan

ответ

1

в onDestroy() свести на нет все ваши объектные переменные, это сделают их подходящими для получения System GC. ИЛИ прямо позвонить System.gc()

0

Сделайте это в своем onDestroy().

Но это не обязательно для этого, но хороший показатель. Поскольку Android GC очень умный.

Я думаю, у вас есть фон для iPhone, поэтому вы задаете этот вопрос. :)

Смежные вопросы