/** 停止所有任务 */
  public void stopAllTask() {
    // 从下载队列移除
    for (Map.Entry<String, DownloadHttpTask> entry : mDownloadingTaskMap.entrySet()) {
      DownloadHttpTask task = entry.getValue();
      task.setInterrupt(true);
    }
    mDownloadingTaskMap.clear();

    Iterator<DownloadInfo> downloadingIt = mDownloadingTasks.iterator();
    while (downloadingIt.hasNext()) {
      DownloadInfo b = downloadingIt.next();
      b.setState(DownloadInfo.PAUSE);
      downloadingIt.remove();
      mPausingTasks.add(b); // 放入暂停队列
    }
    mDownloadingTasks.clear();

    // 从等待队列移除
    Iterator<DownloadInfo> waitIt = mWaitTasks.iterator();
    while (waitIt.hasNext()) {
      DownloadInfo b = waitIt.next();
      b.setState(DownloadInfo.PAUSE);
      waitIt.remove();
      mPausingTasks.add(b); // 放入暂停队列
      break;
    }
    mWaitTasks.clear();
  }
 private synchronized void removeDownloadingMap(String url) {
   synchronized (mIteratorLock) {
     Iterator<Map.Entry<String, DownloadHttpTask>> it = mDownloadingTaskMap.entrySet().iterator();
     while (it.hasNext()) {
       Map.Entry<String, DownloadHttpTask> entry = it.next();
       String key = entry.getKey();
       DownloadHttpTask task = entry.getValue();
       if (TextUtils.equals(key, url)) {
         if (task != null) {
           task.setInterrupt(true);
         }
         try {
           it.remove();
         } catch (Exception e) {
           Logger.e(e);
         }
         break;
       }
     }
   }
 }