0

我想实现这样的任务:在后台(当应用程序在后台时)为用户寻找新数据并发出通知。我必须定期执行此操作(每 2-3 秒)。有不同的数据,因此我为此使用不同的方法(FetchImages、FetchMessages、FetchNewConversations 等)据我所知,在 Android 4 中,所有网络操作都必须在背景线程,所以我将所有这些操作实现为从 AsyncTask 继承的类,然后调用它们我只写FetchImages.execute ()但是活动只执行一次,所以我决定通过 ScheduledExecutorService这样的方式调用它们:

.scheduleAtFixedRate(new Runnable() {
  public void run() 
   {
  FetchImages.execute(); //...
    }

那么问题是这是一个好主意还是存在更好,更有效的解决方案?提前致谢!

4

1 回答 1

2

由于ScheduledExecutorService已经使用了后台线程,因此您无需通过添加另一个后台线程AsyncTask。事实上,您的代码应该会崩溃,因为您只能AsyncTask在主应用程序线程上创建一个。

于 2013-02-19T15:26:06.737 回答