Android - 计时器和 GPS 跟踪。我应该使用服务吗?

问题描述 投票:0回答:2

我正在编写一个具有运行计时器的应用程序(像手表一样每十分之一秒更新一次用户界面),并且还通过 GPS 跟踪距离。预期的用例是让这个应用程序运行长达几个小时,因此它不应该被系统杀死。与当今市场上的许多正在运行的应用程序非常相似(尽管这不是我正在制作的)。

它不应该被系统终止的要求让我创建了一个服务,但似乎将计时器和距离更新传达给 UI 通常效率很低。

使用服务是最好的方法吗?如果是这样,我如何有效地更新 UI 上的时间和距离?或者有其他方法可以防止系统杀死我的应用程序吗?

android android-service
2个回答
1
投票

我决定确实会使用某个服务,但仅在活动暂停时启动并使用它。 Activity 会将当前状态传递给服务,在那里它将处理所有需要完成的事情,并且当恢复时,该 Activity 将从服务取回状态并将其终止。


1
投票

除非您要求某些事情发生,即使您的应用程序的活动被推到另一个活动之后,或者当手机屏幕关闭时,您也不需要服务。在所有条件相同的情况下,最好让您的应用程序在恢复时智能地恢复。

例如,如果您有秒表,您可以记录开始时间。当您的应用程序的活动暂停时,您将停止一切。你停止计数。但是当您恢复时,您知道开始时间,这样您就可以选择正确的时间并继续更新 UI。

只需创建一个计时器/线程来更新 Activity 中的 UI。从

onResume()
开始,在
onPause()
停止。

© www.soinside.com 2019 - 2024. All rights reserved.