【问题标题】:OnDestroy being called WearableListenerServiceOnDestroy 被称为 WearableListenerService
【发布时间】:2015-08-04 20:07:14
【问题描述】:

我正在实现从 wearablelistenerservice 继承的服务。

奇怪的是,服务调用的 onDestroy 方法仍在运行。我应该怎么做才能避免调用 ondestroy 方法?

谢谢。

【问题讨论】:

  • 我们能不能看到一些代码? Android 也因杀死后台服务而臭名昭著。
  • 一般来说我不会担心,如果你收到消息应该重新启动它。也不要使用服务来保存状态信息。 :)

标签: android android-service wear-os


【解决方案1】:

在收到WearableListenerService 的回调后,您是否将一些工作推迟到后台线程?如果是,只要你离开回调方法范围,服务就是一场公平的游戏,一旦系统决定就销毁。您在 WearableListenerService 中获得的唯一保证(某种程度)是它将在回调方法的范围内保持活动状态(除非内存压力非常大)。如果您需要做一些后台工作,您可以从WearableListenerService 开始一个IntentService。但是,这可能不是必需的。 WearableListenerService 回调已经在后台线程上,所以你可以做所有你想做的工作。只是不要离开方法范围(不要等待回调或启动AsynTasks;坚持阻塞调用)。

【讨论】:

  • 我实际上正在启动另一个单独的线程来使用 audiorecord 来读取麦克风数据。你认为有更好的方法来启动这样的线程吗?谢谢。
  • 什么时候停止录音?看来您想要的是一个单独的服务来进行录制。
猜你喜欢
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-07
相关资源
最近更新 更多