44

我对Android开发很陌生。

什么时候创建一个 Android 服务而不是只使用一个简单的 Singleton 类是个好主意?

例如,数据层从互联网下载信息源。

在某些情况下使用服务似乎太多了,但有时我可能需要访问服务,Context所以我有点不确定如何设计应用程序。

4

1 回答 1

45

如果可以在用户离开其活动后立即终止您的进程(连同单例),则使用单例。如果您需要它在此之后继续运行一段时间,请使用服务。如果您想在用户离开后继续运行,但可以忍受它,而不是因为用户现在正在处理需要更多内存的其他事情,那么请使用单例。

这两者之间的决定取决于您的应用程序的生命周期。为此,这就是服务所做的一切——要求平台修改其对您的流程的管理。如果您需要单例中的上下文,只需使用 Context.getApplicationContext() 来检索您的进程的全局上下文。

于 2010-08-25T16:45:52.343 回答