场景描述:
启动应用,开始线程执行 mThread.start()
全屏手机,侧滑退出应用,但是线程依然存活,还在运行
如果没有如下判断,再次进入应用时崩溃 IllegalThreadStateException
错写法:
public void init(){
...
mThread.start();
...
}
正确写法:
//修复 IllegalThreadStateException 崩溃
public void init(){
...
if (mThread != null) {
if (!mThread.isAlive()) {
mThread.start();
}
}
...
}
总结:
该方法不是最恰当的做法。(退出了应用线程还依然活,显然这程序设计对线程的使用就有问题)
更好的方法自行探讨。
侧滑退出:
定义是啥?
这是个人理解,可能并没有官方的解释。
自行那手机体验吧,输出适当的生命周期日志看看
本文介绍了一种在应用程序中正确管理线程的方法,以避免因线程管理不当而导致的IllegalThreadStateException异常。通过对比错误与正确的线程启动方式,文章强调了在重新启动线程前检查其是否存活的重要性。
278

被折叠的 条评论
为什么被折叠?



