diff --git a/app/build.gradle b/app/build.gradle index d7334c8151..afb3ab9496 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,19 +33,19 @@ if (!isAndroidTestBuild()) { apply plugin: 'apm-plugin' } -//if (!isAndroidTestBuild()) { -// apply plugin: 'bytex.threadOpt' -// thread_opt { -// enable true -// enableInDebug true -// logLevel "DEBUG" -// //白名单中的类不进行替换 +if (!isAndroidTestBuild()) { + apply plugin: 'bytex.threadOpt' + thread_opt { + enable true + enableInDebug true + logLevel "DEBUG" + //白名单中的类不进行替换 // white_list = [ // 'leakcanary.*', // 'com.loc.*' // ] -// } -//} + } +} //if (!isAndroidTestBuild()) { // /** diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index c472f0a6d4..ee39bc7a34 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -3,14 +3,14 @@ package com.mogo.launcher; import com.mogo.eagle.core.function.main.MainMoGoApplication; import android.content.Context; -//import androidx.annotation.NonNull; +import androidx.annotation.NonNull; import com.mogo.eagle.core.utilcode.mogo.logger.LogLevel; import com.mogo.eagle.core.utilcode.mogo.logger.Logger; import com.mogo.launcher.crash.CrashSystem; -//import com.mogo.thread.ext.core.ThreadManager; -//import com.mogo.thread.ext.core.config.ThreadConfig; -// -//import java.util.concurrent.ThreadPoolExecutor; +import com.mogo.thread.ext.core.ThreadManager; +import com.mogo.thread.ext.core.config.ThreadConfig; + +import java.util.concurrent.ThreadPoolExecutor; /** * @author congtaowang @@ -23,36 +23,40 @@ public class MogoApplication extends MainMoGoApplication { @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); -// ThreadConfig.Builder builder = new ThreadConfig.Builder().listener(new ThreadConfig.TaskExecuteListener() { -// @Override -// public boolean isEnabled() { -// return true; // 如果返回true,会有后续的回调;如果返回false, 不会有后续的回调 -// } + ThreadConfig.Builder builder = new ThreadConfig.Builder().listener(new ThreadConfig.TaskExecuteListener() { + @Override + public boolean isEnabled() { + return true; // 如果返回true,会有后续的回调;如果返回false, 不会有后续的回调 + } + + @Override + public void onExecutorBefore(@NonNull Runnable runnable, @NonNull ThreadConfig.TaskType type) { + //每个任务执行前回调 +// if (type == ThreadConfig.TaskType.HandlerThread) { // -// @Override -// public void onExecutorBefore(@NonNull Runnable runnable) { -// //每个任务执行前回调 -// } // -// @Override -// public void onExecutorAfter(@NonNull Runnable runnable) { -// //每个任务执行后回调 -// } -// -// /** -// * @param core 线程池的核心数 -// * @param max 线程池的最大线程数 -// * @param active 线程池正在活跃的任务数 -// * @param completed 线程池已完成的任务数 -// */ -// @Override -// public void onExecutorStateChanged(@NonNull ThreadPoolExecutor pool, int core, int max, int active, long completed) { -// //线程池在执行过程,状态变化回调 -// //Log.d("POOL", "core:" + core + ";max:" + max + ";active:" + active + ";completed:" + completed); -// } -// }); -// builder.loggable(false); -// ThreadManager.INSTANCE.init(builder); +// } + } + + @Override + public void onExecutorAfter(@NonNull Runnable runnable, @NonNull ThreadConfig.TaskType type) { + //每个任务执行后回调 + } + + /** + * @param core 线程池的核心数 + * @param max 线程池的最大线程数 + * @param active 线程池正在活跃的任务数 + * @param completed 线程池已完成的任务数 + */ + @Override + public void onExecutorStateChanged(@NonNull ThreadPoolExecutor pool, int core, int max, int active, long completed) { + //线程池在执行过程,状态变化回调 + //Log.d("POOL", "core:" + core + ";max:" + max + ";active:" + active + ";completed:" + completed); + } + }); + builder.loggable(false); + ThreadManager.INSTANCE.init(builder); } @Override diff --git a/build.gradle b/build.gradle index 786ea8b61e..a1ad739077 100644 --- a/build.gradle +++ b/build.gradle @@ -34,7 +34,7 @@ buildscript { classpath "com.mogo.cloud:hook:${HOOK_LOG_VERSION}" classpath "com.mogo.cloud:bizconfig:${BIZCONFIG_VERSION}" classpath 'com.volcengine:apm_insight_plugin:1.4.1' - classpath 'com.mogo.thread.opt:plg:2.2.12' + classpath 'com.mogo.thread.opt:plg:3.0.0' classpath 'com.mogo.cloud:systrace:1.0.1' classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.18' classpath 'com.mogo.sticky:service:1.0.8'