我的第一篇帖子......你知道......
我创建了一个类:
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 ....
由于
askanaan
答案 0 :(得分:1)
onDestroy()
中的会使您的所有对象变量无效,这将使他们有资格System GC
收集它们。或明确调用System.gc()
答案 1 :(得分:0)
在onDestroy()
。
但是没有必要这样做,而是一个很好的prectice。因为Android的GC非常聪明。
我认为你有iPhone开发背景,这就是你问这个问题的原因。 :)