Android在服务和活动之间进行记录

时间:2014-03-17 23:53:51

标签: android android-intent logging service parcelable

我有一个Android应用程序,其中记录器对象被传递给活动。 logger对象负责修剪日志文件等。现在,我有一个要求,我需要使用传递给活动的logger对象/日志文件从服务中记录事件。我正在仔细研究以下解决方案:

1)我发现可以通过parcelable意图将对象从活动传递给服务。记录器对象可以从活动传递给服务并使用吗?

2)在intent中将日志内容包装在intent中,并将intent传递给包含对logger对象的引用的activity。我不确定意图的大小限制和每隔几毫秒传递意图的性能开销。

在面向服务的架构中,有没有更好的方法在android中解决这个问题?

2 个答案:

答案 0 :(得分:1)

如果活动和服务在同一个APK中,你可以让记录器成为单例,并以Java单例的标准方式做事(单个实例保存在类本身的静态变量中,通常由一个名为的getInstance())。

答案 1 :(得分:1)

你可以尝试使用事件总线模式,这个库是为android https://github.com/greenrobot/EventBus制作的。您可以在活动(片段...)< - >服务之间传递对象。