surfaceView 来电问题 (急~~~~~~~~~~~~~)

xiaoxue00941 2010-08-23 03:12:40
使用serfaceView ,本来调用activity 的finish 后,系统会依次调用
onPuse()---->surfaceDestroy()--> onstop()--> onDestroy()

可是来电挂断电话后,退出游戏,调用activity 的finish后,会调用
onPause()--> surfaceDestroy() ,而不会调用onstop()--> onDestroy(),


为什么?????????????


本来每次来电,系统都会surfaceDestroy() ,然后surfaceCreated()--->surfaceChanged()
我的surfaceCreated里是启动线程new Thread(this).start();
每次来电都重新执行surfaceCreated,每次都会多启动一个线程,为了避免这种情况,
Thread thread = new Thread(this);
static boolean firstcreate = true;
public void surfaceCreated(SurfaceHolder holder) {
super.surfaceCreated(holder);
if(firstcreate){
thread.start();
firstcreate = false;
}else{
threadPause = false;
}

}


可是接听电话后,再退出游戏会出现上面的情况。为什么????????????????
...全文
89 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoxue00941 2010-08-23
  • 打赏
  • 举报
回复
onDestroy中有System.exit(0);

有时候只调用finish()不会真正退出游戏,
不能放在surfaceDestroy中,因为每次来电都会surfaceDestroy,那我的游戏岂不是退出了
dinjay 2010-08-23
  • 打赏
  • 举报
回复
不会调用onstop()--> onDestroy()有什么问题么?
stop和destroy中你还有什么处理?都放到surfaceDestroy中不行么

80,351

社区成员

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

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