Android App仍然保持活动状态,没有任何活动

我正在用Java开发Android应用。我使用了很多库:firebase crashlytics,SQLCipher,ButterKnife等。问题是:当我从Android Studio运行该应用程序时,我注意到该应用程序仍保持活动状态,即使我关闭了所有活动。我知道有一些线程在后台工作。.但是我不知道如何检查哪个线程处于活动状态,更重要的是,它是做什么的。有什么想法吗?

zongjie720 回答:Android App仍然保持活动状态,没有任何活动

您可以使用getState()方法获取线程处于什么状态,该方法返回Thread.States的Enum。在给定的时间点,线程只能处于以下状态之一。

NEW尚未开始执行的Fresh线程。
RUNNABLE在Java虚拟机中执行的线程。
BLOCKED已阻塞的线程正在等待监视器锁定。
等待中的一个正在等待被另一个线程通知的线程。
TIMED_WAITING一个正在等待由另一线程通知特定时间的线程。
终止线程谁的运行方法已结束。

exports.MultiChannelInvoke = async function (bulkUploadArray) {
  async.mapSeries(bulkUploadArray,async function (array,cb) {
    let ap = array[0]
    let apArray = ['PL','A','J','V','I'];

    if (!apArray.includes(ap)) {  // For Array's first value it is KL & it is getting inside this loop
      //some manipulation
    }
    else {
      //some manipulation
    }
  },(err,results) => {
    if (err) {
      masterResult = { message: 'Failed During async Map',errorMessage: err }

    } else {
      let mongoData = batch;
      uploadsummary.create(mongoData)
      masterResult = { FinalResults: results }

    }
  })

  return masterResult
}
,
To kill the thread,u can do this :

myService.getThread().interrupt();

NOTE : the method Thread.stop() is deprecated

EDIT : : try this

public void stopThread(){
  if(myService.getThread()!=null){
      myService.getThread().interrupt();
      myService.setThread(null);
  }
}
本文链接:https://www.f2er.com/3159333.html

大家都在问