Android提供了一种服务基础架构,但对于我目前的简单需求而言,它有点冗长。我正在使用单例来提供服务,该服务具有一些内部状态。
我在SharedPreferences
捆绑中坚持内部状态。要获取单例的实例,需要Context
,这是第一次使用单例来创建它时读取的首字母:
MyService mS = MyServiceImpl.getInstance((Context) this);
从那时起,忽略传递的Context
,并从内存中读取首选项。
现在,我想在退出时将内部状态保留回捆绑包。但是,不支持关闭挂钩,我真的不想跟踪Activity正在使用该服务。
是否有一个简单的解决方案,类似于关闭钩子,或者我是否必须使用绑定Service
并在每个Activity
中绑定/取消绑定它?