【问题标题】:Should We use Handler for long delay Android我们应该使用 Handler 处理长时间延迟的 Android
【发布时间】:2013-08-02 13:06:47
【问题描述】:

我在服务中使用 Handler 并使用它的方法 handler.sendMessageDelayed(message,time)。 这种方法在短时间内可以正常工作,但在 3、5、10 分钟等长时间内(有时)不能正常工作。我应该使用处理程序来处理这么长时间的延迟吗?

【问题讨论】:

  • 你把弯针放在哪里了?

标签: android handler threadpool


【解决方案1】:

可能不会。您应该查看 AlarmManager 以在将来执行某些任务。

http://developer.android.com/reference/android/app/AlarmManager.html

【讨论】:

  • 我知道这个。但我不知道处理程序有什么问题?
  • 伙计,你的 Looper 在哪里?这仅取决于它。
  • Handler 绑定到您的应用程序主线程(或某个后台线程,如果您在那里创建了您的处理程序),并且它可能会失去对其某些资源的访问权限,甚至在 onDestroy() 时随之消失叫做。 AlarmManager 是一个系统服务,它并不真正依赖于您的应用程序的状态。
  • 处理程序唯一需要的是 Looper!如果你的 Looper 在你的主线程中,那么它可能被 gc 销毁了。
  • 但是我在一直运行的服务中使用 Handler...所以我认为 handler 不应该消失。
猜你喜欢
  • 1970-01-01
  • 2016-02-04
  • 1970-01-01
  • 2014-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多