我的单身人士会被杀死吗?

时间:2015-03-17 02:44:40

标签: java android service singleton foreground-service

我有一个应用程序,我创建一个前台服务,以确保用户启动上传,即使用户退出应用程序或应用程序被内存压力杀死。

服务和应用程序都使用单例来传递数据。我知道这不是最好的解决方案,所以请不要发表关于坏坏单身人士的评论,因为问题不在于此,而是在下面:

当我关闭应用程序时,我的前台服务继续运行并可以访问单例。由于内存压力,是否存在单身人员被垃​​圾收集的风险,或者在这种情况下是否存在使用单身人士的任何其他与内存相关的风险?

3 个答案:

答案 0 :(得分:0)

  1. 单身人士没什么不好的。但是,正如任何其他模式或方法一样,它可能会被错误地使用。
  2. 由于内存压力或任何其他原因,系统可能会杀死您的应用。但是您的Service稍后会重新启动。

答案 1 :(得分:0)

  1. 单例模式是系统中非常有用的模式,因为它是静态格式。需要一个对象来协调整个系统的操作。您不必担心重复或您不小心创建多个模块。
  2. 前台服务是一种被认为是用户主动意识到的(具有焦点)的服务,因此在内存不足时不会被系统杀死。骨架对象不会被杀死。

答案 2 :(得分:0)

静态变量仅在应用程序被终止时销毁。因此,当您的服务运行时,他们不会随意消失。但是,如果您的整个服务重新启动,则必须考虑重新启动时没有单例的可能性。