Java 为什么不是';Android Studio探查器显示异步任务线程上的活动
我有两个AsyncTask线程,每个线程将文件从一个文件夹移动到另一个文件夹,但是Android Studio Profiler上没有显示此活动 老实说,它完全丢失了,因为它偶尔会在200毫秒内显示活动,但只在其中一个线程上显示一次 在主要活动中:Java 为什么不是';Android Studio探查器显示异步任务线程上的活动,java,android-asynctask,profiler,java-threads,Java,Android Asynctask,Profiler,Java Threads,我有两个AsyncTask线程,每个线程将文件从一个文件夹移动到另一个文件夹,但是Android Studio Profiler上没有显示此活动 老实说,它完全丢失了,因为它偶尔会在200毫秒内显示活动,但只在其中一个线程上显示一次 在主要活动中: new AsyncThread().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, true); new AsyncThread().executeOnExecutor(Async
new AsyncThread().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, true);
new AsyncThread().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, false);
异步任务:
protected Void doInBackground(Boolean... Upper) {
while(startPoint <= (endPoint)){
...
try {
if (sourceFile.exists()) {
try{
sourceFile.renameTo(targetLocation);
publishProgress();
startPoint++;
} catch(Exception e){
System.out.println("Error");
}
} else {
}
} catch (NullPointerException e) {
e.printStackTrace();
Log.i("failed: ", "nullPointer");
} catch (Exception e) {
e.printStackTrace();
Log.i("failed: ", "exception e");
}
try {Thread.currentThread().sleep((int)(1000));
} catch (InterruptedException e) {}
}
return null;
}
@Override
protected void onProgressUpdate(Void... progress) {
try{
MainActivity.semaphore.acquire();
MainActivity.noOfFilesTransfered++;
MainActivity.semaphore.release();
} catch(Exception e){}
}
protectedvoiddoinbackground(布尔值…上限){
while(startPoint处于sleep()
-ing状态的线程不会在探查器上显示活动,因为它们没有运行。线程大部分时间都在睡眠
目前还不清楚200毫秒的活动代表什么,但您可以放心,您的探查器是正确的,200毫秒代表一个正在积极运行的线程