我在这个网站上看到了相关的问题和答案,但还没有得到满意的解决方案。
我的问题是:
我的服务使用我的应用程序中的对象(数据列表)。
示例:
public class HelloService extends Service{
List<POI> poiList = Globalata.getListOfPOI(); // -- line a
}
这使得当活动/应用程序被终止时,服务崩溃。如果我删除(a行),当我的应用程序被终止/删除时,服务将继续运行。我正在使用启动的服务。我能做什么?当我的活动/应用程序被终止时,有没有办法防止我的服务崩溃和停止?
您可以复制列表,并且可能是服务上私有列表上的对象。因此,当活动终止时,服务将拥有自己的副本。
顺便说一句,尽可能避免使用静态访问,但这取决于你是应用程序。