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、Graphics....

谢谢

阿卡南

4

2 回答 2

1

onDestroy()使所有对象变量无效时,这将使它们有资格System GC收集它们。或显式调用System.gc()

于 2012-07-04T12:05:04.403 回答
0

在你的onDestroy().

但没有必要这样做,而是一个很好的做法。由于Android的GC非常智能。

我认为你有 iPhone 开发背景,这就是你问这个问题的原因。:)

于 2012-07-04T12:23:38.870 回答