Android 来自singleton的绑定服务

Android 来自singleton的绑定服务,android,android-service,android-service-binding,Android,Android Service,Android Service Binding,我有一个已启动的服务,它处理连接并保留一个对象数组。另一方面,我有一个应绑定到该服务的单例,以便获得该服务处理的一个对象。那么,如何从singleton绑定服务呢?在使用应用程序的上下文初始化单例时绑定服务是一种好的做法吗?有更好的选择吗 提前谢谢 这是一个非常好的方法。您的单例将被初始化,并使用应用程序上下文绑定到服务。单例将保持绑定状态,直到托管您的单例的进程被Android杀死(或者直到您有意解除绑定)。请注意,如果您有意解除绑定,那么如果您的应用程序在Android破坏托管进程之前再次启

我有一个已启动的服务,它处理连接并保留一个对象数组。另一方面,我有一个应绑定到该服务的单例,以便获得该服务处理的一个对象。那么,如何从singleton绑定服务呢?在使用应用程序的上下文初始化单例时绑定服务是一种好的做法吗?有更好的选择吗


提前谢谢

这是一个非常好的方法。您的单例将被初始化,并使用应用程序上下文绑定到服务。单例将保持绑定状态,直到托管您的单例的进程被Android杀死(或者直到您有意解除绑定)。请注意,如果您有意解除绑定,那么如果您的应用程序在Android破坏托管进程之前再次启动,您将需要再次有意绑定(或者您需要破坏您的单例,以便稍后重新初始化)


在Android杀死你的进程和用户返回到应用程序的情况下,你的独生子将被重新创建并重新绑定到服务。

“当单体被初始化时绑定服务是一个好的做法……”我甚至认为单体是不好的实践,因为你在干扰全局(可以)。很难跟踪和调试。我不同意这篇文章。虽然单例可能是万恶之源,但它们有完全有效的用途。由于Android中活动生命周期的性质,最好的做法是使用长寿命对象(如单例)绑定到
服务,而不是在每个
活动中绑定
@DavidWasser是的,它们肯定有自己的位置,我只是建议不要使用它们,因为它们通常是个坏主意