我对Android开发还比较新手。
在什么情况下创建一个Android Service比只使用简单的Singleton类更好呢?
以从互联网下载信息源的数据层为例。
对于某些情况来说,使用Service可能太过繁琐了,但有时我可能需要访问Context
,因此我对如何设计应用程序感到有些不确定。
我对Android开发还比较新手。
在什么情况下创建一个Android Service比只使用简单的Singleton类更好呢?
以从互联网下载信息源的数据层为例。
对于某些情况来说,使用Service可能太过繁琐了,但有时我可能需要访问Context
,因此我对如何设计应用程序感到有些不确定。
如果在用户离开应用程序活动后,你的进程(及其单例)可以被立即终止,那么使用单例。如果需要它在此之后继续运行一段时间,请使用服务。如果您希望在用户离开应用程序时继续运行,但是可以接受因为用户现在已经转到需要更多内存的其他内容而无法继续运行,则使用单例。
这两个选项之间的决定仅取决于应用程序的生命周期。对于这个目的,服务所做的就是请求平台修改对进程的管理方式。如果单例中需要上下文,只需使用Context.getApplicationContext()检索进程的全局上下文。