gpt4 book ai didi

java - Android,退出/暂停应用程序,如何销毁线程

转载 作者:行者123 更新时间:2023-11-30 11:53:58 25 4
gpt4 key购买 nike

我有一个带有后台线程的 android 应用程序,该线程包含用于从服务器发送/接收数据的套接字连接。

如果我的应用程序结束(后退按钮等)或暂停(主页按钮、调用其他应用程序),处理此后台线程的最佳方式是什么?

我见过两种方式:

  • 在线程创建之后和启动线程之前调用Thread.setDaemon(true)

  • 覆盖 onStop()onPause()onDestroy()

我只想确保我的应用程序不会挂起或有其他奇怪的行为。

编辑:

此外,关闭套接字的最佳解决方案是什么?我是否也关闭它和 inputStream?够了吗?

最佳答案

我建议使用某种信号变量:做类似的事情

public void run(){
while(!stopped){
// do work
}

// clean up

return;
}

然后在 onStop()onDestroy() 中将 stopped 设置为 true。您需要确保自己也进行了清理,如果需要重新启动线程,您可以在 onResumeonCreate 中进行。

关于java - Android,退出/暂停应用程序,如何销毁线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5968141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com