android - android什么时候会自动挂起一个线程?

标签 android multithreading

在开发我的 android 应用程序时,我遇到了以下问题:

处理程序线程被 android 自动挂起。 Eclipse 在“DDMS”透视图中将线程状态显示为“挂起”。线程的处理程序不再处理发送给它的消息(我设置了一个断点,程序再也没有到那里)。同时,应用程序运行正常,只是UI模块因为没有数据而无法显示任何内容。 (该线程用于从本地数据库和网络加载数据。)

我的问题是:android虚拟机在什么情况下会挂起一个线程?

最佳答案

据我所知,没有暂停线程这样的方法。线程有几种状态:

  • 新的(还没开始)
  • 运行
  • 等待/阻塞(等待运行,在 同步块(synchronized block)Object.wait() 被调用之前被阻塞,或者 Thread.sleep()
  • 死了

当你的进程被终止时,你的线程被挂起。 (例如,未捕获的异常或进程强制关闭) 当没有更多线程在运行时,还会关闭一个进程。 android操作系统也可以选择杀死一个进程来释放资源给用户可见的进程。

检查 this链接。

顺便说一句,Thread.suspend() 已弃用。不要使用它。

关于android - android什么时候会自动挂起一个线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20263115/

相关文章:

java - 使用 OpenCV 进行椭圆检测

javascript - 调试 Cordova 插件

Java 执行器服务 : should I put a lock before to use execute?

java - 如何从两个单独的线程更新数组

java - 如何通过Android HAL创建环回相机?

android - 在间隔后调用 android 中的函数?

multithreading - XSLT 处理器可以是多线程的吗?

java - 如何有效地使用 InterruptedException

multithreading - pthread健壮的互斥锁有多安全?

java - 媒体播放器对象音量线性增加和减少的Android逻辑错误