gpt4 book ai didi

java - 为什么 Android Studio Profiler 不显示 AsyncTask 线程上的 Activity

转载 作者:太空宇宙 更新时间:2023-11-04 09:46:01 25 4
gpt4 key购买 nike

我有两个 AsyncTask 线程,每个线程将文件从一个文件夹移动到另一个文件夹,但此 Activity 未显示在 Android Studio Profiler 上

老实说完全迷失了,因为它时不时地会显示 200 毫秒的 Activity ,但仅在其中一个线程上显示一次

在主 Activity 中:

    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){}
}

最佳答案

sleep() 的线程不会在分析器上显示 Activity ,因为它们没有运行。您的线程大部分时间都在 sleep 。

目前尚不清楚 200 毫秒的 Activity 代表什么,但您可以放心,您的探查器是正确的,并且 200 毫秒代表正在积极运行的线程。

关于java - 为什么 Android Studio Profiler 不显示 AsyncTask 线程上的 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55419960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com