场景描述:
启动应用,开始线程执行 mThread.start()
全屏手机,侧滑退出应用
,但是线程依然存活,还在运行
如果没有如下判断,再次进入应用时崩溃 IllegalThreadStateException
错写法:
public void init(){
...
mThread.start();
...
}
正确写法:
//修复 IllegalThreadStateException 崩溃
public void init(){
...
if (mThread != null) {
if (!mThread.isAlive()) {
mThread.start();
}
}
...
}
总结:
该方法不是最恰当的做法。(退出了应用线程还依然活,显然这程序设计对线程的使用就有问题)
更好的方法自行探讨。
侧滑退出
:
定义是啥?
这是个人理解,可能并没有官方的解释。
自行那手机体验吧,输出适当的生命周期日志看看