android 之 线程创建与后台切换
来源:互联网 发布:光辉岁月 知乎 编辑:程序博客网 时间:2024/05/17 02:07
需要线程标志的原因:
th = new Thread();
th.start();
若没有flag标志:
当按下back或home键时,SurfaceView的状态变化:
back按钮:SurfaceDestroyed-> 构造函数-> SurfaceCreated -> SurfaceChanged
home按钮:SurfaceDestroyed-> SurfaceCreated -> SurfaceChanged
1.
th = new Thread();
th.start(); 应该尽量放在一起,以减少不必要错误。如:防止重复执行start()而出错。
2. 两者放在一起之后,
如果没有结束线程的操作,就会导致只不断创建线程,导致线程越来越多(如果线程是死循环的话(在游戏中,经常是死循环的线程),则线程不会自己结束)。
解决方法: 在 SurfaceDestroyed 中设置flag为false。 此flag 是线程while死循环的条件:while(flag),这样在 SurfaceDestroyed执行后,线程也自动销毁。
3. 那么,为了保证在按了home后,线程也能够重新创建, 那么线程初始化和执行语句只能 添加在SurfaceCreated中,才能保证无论是按back还是home,再次返回时都能够重新创建线程。
结论: 上面3。
参考书:android游戏编程之从零开始
- android 之 线程创建与后台切换
- Android-线程与后台服务【占坑中】
- Android 线程创建与销毁
- Poco之ftp目录切换与创建
- android 后台运行服务之创建后台服务篇
- Android中后台线程如何与UI线程交互
- Android中后台线程如何与UI线程交互
- Android中UI线程与后台线程交互设计
- Android中UI线程与后台线程交互方法
- Android中后台线程如何与UI线程交互
- Android中UI线程与后台线程交互设计方法
- 前台线程与后台线程
- 辅助线程与后台线程
- 前台线程与后台线程
- 由后台线程创建的线程也是后台线程
- Android 后台线程实例
- Android 使用后台线程
- android见后台切换监听
- 怎样使用LaTeX输入葡萄牙语等语言中的特殊字符
- Android框架浅析之锁屏(Keyguard)机制原理(转载)
- WIN7 64 bit 发布webservice 引用 dll 试图加载格式不正确的程序
- Java中静态代码块
- java异常捕捉陷阱(内存泄漏,finally块,catch块,继承得到的异常)
- android 之 线程创建与后台切换
- 网络流题目集锦(by 戴神)
- 开源安卓播放器:Dolphin Player 简单分析
- Documentation/console/console
- Lua程序设计第二版(笔记) 第八章编译、执行与错误
- 数组转换2
- sql 根据日期模糊查询&SQL Server dateTime类型 模糊查询
- C/C++ 语言中的表达式求值
- Myteam项目管理系统——项目配置管理