活动和服务都引用相同的对象
问题描述:
如果我有一个活动启动后台服务,以便在活动被销毁时保持服务。我需要服务和活动都是引用同一个对象(因为这个对象的构造和使用应用程序的开销一直很高)。那我怎么能做到呢?全局静态变量?活动和服务都引用相同的对象
答
总之,你不能。 A Service
与Activity
根本不同。每个都作为一个单独的生命周期,使它们瞬变。如果您确实需要在应用程序中保留某种类型的静态,则可以非常小心地创建一个单例类,或者将其嵌入源自Application
的自定义类中。
那么你如何解决这个常见问题然后:用户点击一个按钮来更新对象。服务在后台运行,并对同一对象进行更新。我猜是辛格尔顿,但我很惊讶没有方便的方法,其中服务和活动可以共享数据(共享首选项除外) – Snake 2015-02-10 20:58:31
活动可以在创建时绑定到服务 – 2015-02-10 20:59:50
而且我假设我可以将活动绑定到服务甚至活动被破坏并重新创建后,对吗? – Snake 2015-02-10 21:04:35