【问题标题】:onResume in android Serviceandroid服务中的onResume
【发布时间】:2013-09-04 11:57:19
【问题描述】:

在我的应用程序中,我有一个 Service,它创建了一些 Threads。 当设备进入睡眠模式时,线程被中断和销毁。假设我不能使用我的ActivityonResume()(因为我正在使用StandOut 库和StandOutWindow 扩展Service),当我唤醒我的设备时如何重新创建/重新启动Threads ?

打开/关闭屏幕Intents 是个好主意吗?

【问题讨论】:

  • 根据您的说法,我认为不仅是您的线程在系统挂起期间被破坏,而且您的进程在后台被杀死。如果是这种情况,您应该在服务类的 onStartCommand 中返回 START_STICKY。然后在服务自动重启后,再次重新创建你的线程。

标签: java android multithreading android-service


【解决方案1】:

系统挂起不应该破坏你的线程,它只是让你的线程挂起。你的线程不应该一直在运行,如果它需要完成它的工作,抓住一个弱锁。

您可以注册一个运行时广播接收器来观看屏幕开/关状态来处理它。这是正常的做法。

【讨论】:

  • 线程在 while(true) 循环中不断轮询。它永远不会结束,也许这就是为什么它在睡觉时被破坏的原因。那我就用广播来监控屏幕电量。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多