Java 当调用活动被终止或破坏时,Android服务停止工作

Java 当调用活动被终止或破坏时,Android服务停止工作,java,android,android-service,Java,Android,Android Service,我在这个网站上看到了相关的问题和答案,但还没有得到满意的解决方案 我的问题是: 我的服务使用我的应用程序中的数据对象列表 例如: public class HelloService extends Service{ List<POI> poiList = Globalata.getListOfPOI(); // -- line a } 这会在活动/应用程序被终止时导致服务崩溃。如果我删除a行,当我的应用程序被终止/销毁时,服务将继续运行。我正在使用已启动的服务。我

我在这个网站上看到了相关的问题和答案,但还没有得到满意的解决方案

我的问题是:

我的服务使用我的应用程序中的数据对象列表

例如:

 public class HelloService extends Service{
      List<POI> poiList = Globalata.getListOfPOI(); //  -- line a
 }

这会在活动/应用程序被终止时导致服务崩溃。如果我删除a行,当我的应用程序被终止/销毁时,服务将继续运行。我正在使用已启动的服务。我能做什么?当我的活动/应用程序被终止时,有没有办法防止我的服务崩溃和停止?

你可以复制列表,也可能是服务中私有列表上的对象。 因此,当活动被终止时,服务将拥有自己的副本


顺便说一句,avoir尽可能使用静态访问,但这取决于你是应用程序。

相反,你应该打包/序列化你的对象并将其传递给服务…可能是服务意图的额外部分。谢谢你的回答。你能给我一个示例代码吗?我也在线检查。为什么不将列表数据存储在数据库中?我有一个XML文件,我在主活动中解析了XML,然后将数据存储在一个列表中。所以我有一个对象列表。如果我在服务中进行解析,我可以得到列表,但这不会影响服务吗?