我正在为我的Android应用程序创建一个服务,通过Intents向服务提供数据.问题是,当系统销毁服务时,提供给它的意图数据无法恢复,因此我的应用程序崩溃了.
我听说START_REDELIVER_INTENT只要有足够的内存可用于恢复提供给服务的意图数据就会重新启动我的服务,而START_STICKY不会恢复意图数据.
我对吗 ?还是有什么我不知道的?
此外,我的服务将在系统销毁后永远重启.

我有一个服务和一个Activity(作为同一过程的一部分运行).根据SO答案,/sf/answers/2037101391/.它建议传递一个Activity引用,Service以便服务可以调用该Activity对象的回调.
1)以这种方式沟通是一个好主意.这不会是坏事,因为它正在泄漏对Activity的引用,这将避免GC直到Service保留其引用.
2)我还检查了Messenger可用于来回通信的活动和服务.据我所知,这意味着要使用的,如果Activity和Service在不同的进程中运行.当它们作为同一过程的一部分运行时,使用这种机制不会成为通信b/w活动和服务的开销吗?
沟通的最佳方式是什么?我的主要目的是在服务中发生某些事件时,从服务到活动提供一些消息.