我有一个单例,它存储了一些关于我的应用程序用户的谨慎信息。目前,它存储用户的登录信息和用户的位置。
1) 位置是通过服务找到的。目前,服务直接引用我的单例来将经度和纬度填充到其中。我想使用 BroadcastReceiver 来发送单例听到并用于更新值的广播。
但是,要注册 BroadcastReceiver,我需要在我的单例中添加一个 Context。实现我想要的最巧妙的方法是什么。BroadcastReceiver 可能不是合适的对象吗?
2)另外,我在使用单例时会遇到什么问题?我假设 Android 可能会在任何给定时间回收这些内存(这显然很糟糕);那么我该如何防止呢?传递应用程序的 Context 并将其存储在成员变量中会阻碍这一点吗?
Android 文档指出:“但是,静态对象的生命周期并不受您的控制;因此要遵守生命周期模型,应用程序类应该在 onCreate() 和 onTerminate( ) 应用程序类的方法”,但我不完全确定如何实现这一点。