SurfaceHolder.Callback中的事件什么情况下会调用(就是说它的生命周期是怎样的)

zack_hoo 2010-11-19 10:52:59
比如说我有以的代码:

public class MyView extends SurfaceView implements SurfaceHolder.Callback{
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
System.out.println("MyView()");
}

@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
// TODO Auto-generated method stub
System.out.println("surfaceChanged()");
}

@Override
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub
System.out.println("surfaceCreated()");
}

@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// TODO Auto-generated method stub
System.out.println("surfaceDestroyed()");
}
}


SurfaceHolder.Callback 接口中的三个函数什么时候会被调用
surfaceChanged()
surfaceCreated()
surfaceDestroyed()
就是说这三个函数的生命期是怎样的
谢谢~~~~
...全文
2163 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xionggesb 2011-01-11
  • 打赏
  • 举报
回复
谢谢~~~~谢谢~~~~
Joe_Yang 2010-11-19
  • 打赏
  • 举报
回复
surfaceCreated(SurfaceHolder holder):当Surface第一次创建后会立即调用该函数。程序可以在该函数中做些和绘制界面相关的初始化工作,一般情况下都是在另外的线程来绘制界面,所以不要在这个函数中绘制Surface。
surfaceChanged(SurfaceHolder holder, int format, int width,int height):当Surface的状态(大小和格式)发生变化的时候会调用该函数,在surfaceCreated调用后该函数至少会被调用一次。
surfaceDestroyed(SurfaceHolder holder):当Surface被摧毁前会调用该函数,该函数被调用后就不能继续使用Surface了,一般在该函数中来清理使用的资源。

80,488

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧