如何以高频率将数据从服务传递到活动

时间:2014-01-13 07:33:35

标签: android android-activity android-service

在我的Android应用程序中,我有Service监视手机的文件更改,当有新文件下载时,例如apk文件(我使用递归实现的FileObserver类来做监视器),Service触发Activity(在同一个应用程序中),并将apk文件的文件路径发送到Activity
问题是,如果用户一次下载很多apk文件,可能会有很多文件路径,并且用户下载apk文件的频率可能很高,我想知道我能做些什么或者我可以用什么方法传递文件路径?
提前致谢。

1 个答案:

答案 0 :(得分:1)

在这些情况下,我倾向于支持奥托:http://square.github.io/otto/

从您可以提供的服务......

myBus.post(new DownloadEvent());

活动可以简单地有一个方法......

@Subscribe
public void onDownload(DownloadEvent event)
{
    //Do stuff
}

如果频率非常高,您可以维护一个DownloadEvent对象池,并在发布到总线时重复使用它们,以避免过多的垃圾回收。