Revert "Revert "[6.1.2][线程优化] 升级版本,更改初始化方式""
This reverts commit 142d7d1bda.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
[package]
|
||||
-keeppackage com/mogo/thread/ext/
|
||||
-keeppackage com/mogo/thread/opt/core/
|
||||
-keeppackage com/mogo/eagle/core/function/main/threadopt/
|
||||
-keeppackage com/mogo/launcher
|
||||
-keeppackage com/rousetime/android_startup/
|
||||
-keeppackage com/mogo/systrace/
|
||||
|
||||
@@ -30,7 +30,7 @@ buildscript {
|
||||
classpath "com.mogo.cloud:hook:${service_chain_version}"
|
||||
classpath "com.mogo.cloud:bizconfig:${plugin_version}"
|
||||
classpath 'com.volcengine:apm_insight_plugin:1.4.2'
|
||||
classpath "com.mogo.thread.opt:plg:10.2.1_mogo"
|
||||
classpath "com.mogo.thread.opt:plg:10.10.0"
|
||||
classpath "com.mogo.cloud:systrace:${plugin_version}"
|
||||
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.18'
|
||||
classpath "com.mogo.sticky:service:${plugin_version}"
|
||||
|
||||
@@ -215,7 +215,7 @@ ext {
|
||||
//========================= autosize ======================
|
||||
androidautoSize : 'com.github.JessYanCoding:AndroidAutoSize:v1.2.1',
|
||||
|
||||
thread_opt : "com.mogo.thread.opt:lib:10.2.1_mogo",
|
||||
thread_opt : "com.mogo.thread.opt:lib:10.10.0",
|
||||
|
||||
weak_network : "com.mogo.weak:network:1.0.1",
|
||||
btrace : "com.bytedance.btrace:rhea-core:2.0.0",
|
||||
@@ -240,6 +240,6 @@ ext {
|
||||
]
|
||||
}
|
||||
|
||||
boolean isM1Chip() {
|
||||
static boolean isM1Chip() {
|
||||
return System.getProperty("os.name").contains("Mac") && System.getProperty("os.arch") == "aarch64"
|
||||
}
|
||||
@@ -75,6 +75,8 @@ dependencies {
|
||||
implementation rootProject.ext.dependencies.koomjava
|
||||
implementation rootProject.ext.dependencies.koomnative
|
||||
implementation rootProject.ext.dependencies.koomxhook
|
||||
|
||||
implementation rootProject.ext.dependencies.thread_opt
|
||||
api project(':test:crashreport-apmbyte')
|
||||
compileOnly project(':core:function-impl:mogo-core-function-datacenter')
|
||||
implementation project(':foudations:mogo-commons')
|
||||
|
||||
@@ -5,7 +5,6 @@ import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_MAI
|
||||
import android.content.Context;
|
||||
|
||||
import com.bytedance.boost_multidex.BoostMultiDex;
|
||||
import com.mogo.cloud.socket.SocketBuildConfig;
|
||||
import com.mogo.commons.AbsMogoApplication;
|
||||
import com.mogo.commons.debug.DebugConfig;
|
||||
import com.mogo.commons.module.MogoModule;
|
||||
@@ -15,14 +14,12 @@ import com.mogo.eagle.core.data.config.FunctionBuildConfig;
|
||||
import com.mogo.eagle.core.data.constants.MogoServicePaths;
|
||||
import com.mogo.eagle.core.function.api.chat.biz.ChatConsts;
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager;
|
||||
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager;
|
||||
import com.mogo.eagle.core.function.call.startup.CallerStartUpManager;
|
||||
import com.mogo.eagle.core.function.main.threadopt.ThreadOptInitializer;
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils;
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppLaunchTimeUtils;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
/**
|
||||
* 默认初始化一些基础服务配置
|
||||
*/
|
||||
@@ -80,6 +77,7 @@ public abstract class MainMoGoApplication extends AbsMogoApplication {
|
||||
@Override
|
||||
protected void attachBaseContext(Context base) {
|
||||
super.attachBaseContext(base);
|
||||
ThreadOptInitializer.init();
|
||||
/*如果是主进程**/
|
||||
// if (ProcessUtils.isMainProcess(this)) {
|
||||
AppLaunchTimeUtils.beginTimeCalculate(AppLaunchTimeUtils.COLD_START);
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
package com.mogo.eagle.core.function.main.threadopt;
|
||||
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import com.mogo.thread.opt.core.ThreadManager;
|
||||
import com.mogo.thread.opt.core.annotation.Keep;
|
||||
import com.mogo.thread.opt.core.config.ThreadConfig;
|
||||
import java.util.concurrent.ThreadPoolExecutor;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
|
||||
@Keep
|
||||
public class ThreadOptInitializer {
|
||||
|
||||
|
||||
private static final ThreadConfig.TaskExecuteListener listener = new ThreadConfig.TaskExecuteListener() {
|
||||
@Override
|
||||
public boolean isEnabled() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onExecutorBefore(@NonNull ThreadConfig.TaskType taskType, @Nullable Object task, @Nullable String desc) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onExecutorAfter(@NonNull ThreadConfig.TaskType taskType, @Nullable Object task, @Nullable String desc) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onExecutorStateChanged(@NonNull ThreadPoolExecutor threadPoolExecutor, int core, int max, int active, long completed) {
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
public static void init() {
|
||||
ThreadConfig.Builder builder = new ThreadConfig.Builder();
|
||||
builder.minKeepAliveTime(1, TimeUnit.SECONDS);
|
||||
builder.maxKeepAliveTime(10, TimeUnit.SECONDS);
|
||||
builder.listener(listener);
|
||||
ThreadManager.INSTANCE.init(builder);
|
||||
}
|
||||
}
|
||||
@@ -47,7 +47,6 @@ dependencies {
|
||||
kapt rootProject.ext.dependencies.aroutercompiler
|
||||
|
||||
implementation rootProject.ext.dependencies.android_start_up
|
||||
implementation rootProject.ext.dependencies.thread_opt
|
||||
|
||||
implementation project(':core:mogo-core-function-call')
|
||||
implementation project(":test:crashreport")
|
||||
|
||||
@@ -7,7 +7,6 @@ import com.mogo.eagle.core.data.constants.MogoServicePaths
|
||||
import com.mogo.eagle.core.function.api.startup.IStartUpProvider
|
||||
import com.mogo.eagle.core.function.startup.stageone.APMStartup
|
||||
import com.mogo.eagle.core.function.startup.stageone.HttpDnsStartUp
|
||||
import com.mogo.eagle.core.function.startup.stageone.ThreadOptStartup
|
||||
import com.mogo.eagle.core.function.startup.stagetwo.*
|
||||
import com.rousetime.android_startup.StartupListener
|
||||
import com.rousetime.android_startup.StartupManager
|
||||
@@ -54,7 +53,6 @@ class MogoStartUpProvider : IStartUpProvider {
|
||||
StartupManager.Builder()
|
||||
.addStartup(HttpDnsStartUp())
|
||||
.addStartup(APMStartup())
|
||||
.addStartup(ThreadOptStartup())
|
||||
.setConfig(config)
|
||||
.build(it)
|
||||
.start()
|
||||
|
||||
@@ -21,6 +21,6 @@ class APMStartup : AndroidStartup<Boolean?>() {
|
||||
}
|
||||
|
||||
override fun dependenciesByName(): List<String> {
|
||||
return listOf("com.mogo.eagle.core.function.startup.stageone.ThreadOptStartup")
|
||||
return emptyList()
|
||||
}
|
||||
}
|
||||
@@ -1,56 +0,0 @@
|
||||
package com.mogo.eagle.core.function.startup.stageone
|
||||
|
||||
import android.content.*
|
||||
import android.os.Process
|
||||
import android.os.Trace
|
||||
import android.util.*
|
||||
import com.mogo.thread.ext.core.*
|
||||
import com.mogo.thread.ext.core.config.*
|
||||
import com.mogo.thread.ext.core.config.priority.*
|
||||
import com.mogo.thread.ext.core.trace.*
|
||||
import com.rousetime.android_startup.*
|
||||
import java.io.*
|
||||
import java.text.*
|
||||
import java.util.*
|
||||
import java.util.concurrent.TimeUnit.SECONDS
|
||||
|
||||
class ThreadOptStartup: AndroidStartup<Boolean>() {
|
||||
|
||||
override fun create(context: Context): Boolean {
|
||||
ThreadManager
|
||||
.init(ThreadConfig.Builder()
|
||||
.maxKeepAliveTime(10, SECONDS)
|
||||
.minKeepAliveTime(5, SECONDS)
|
||||
.priorityConfig(PriorityConfig.Builder()
|
||||
.checkInterval(1, SECONDS)
|
||||
.setPriority("GLThread\\s+\\d+", Process.THREAD_PRIORITY_BACKGROUND)
|
||||
.setPriority("Dispatch-\\w+", Process.THREAD_PRIORITY_BACKGROUND)
|
||||
.build())
|
||||
.traceConfig(TraceConfig.Builder()
|
||||
.enabled(false)
|
||||
.trace(object : ITrace {
|
||||
override fun enter(section: String) {
|
||||
//Trace.beginSection(section)
|
||||
//Log.d("TTTTTT", "enter->$section" )
|
||||
}
|
||||
override fun exit() {
|
||||
//Trace.endSection()
|
||||
}
|
||||
})
|
||||
.build())
|
||||
/*.dump(DumpConfig.Builder()
|
||||
.dumpLogFilePath(File(context.getExternalFilesDir(null), "thread_dump_log_${ SimpleDateFormat("yyyy-MM-dd-HH-mm-ss", Locale.ROOT).format(Date()) }.txt").absolutePath)
|
||||
.dumpPeriod(5, SECONDS)
|
||||
.threadRunThreshold(10, SECONDS)
|
||||
.build())*/)
|
||||
return true
|
||||
}
|
||||
|
||||
override fun callCreateOnMainThread(): Boolean {
|
||||
return true
|
||||
}
|
||||
|
||||
override fun waitOnMainThread(): Boolean {
|
||||
return true
|
||||
}
|
||||
}
|
||||
@@ -10,7 +10,7 @@
|
||||
org.gradle.daemon=true
|
||||
org.gradle.configureondemand=true
|
||||
org.gradle.parallel=true
|
||||
org.gradle.jvmargs=-Xmx4096m
|
||||
org.gradle.jvmargs=-Xmx6144m
|
||||
#开启gradle缓存
|
||||
org.gradle.caching=true
|
||||
android.enableBuildCache=true
|
||||
@@ -146,8 +146,6 @@ ADAS_DATA_LIB_CHILD_VERSION=.4
|
||||
# 是否支持patch升级
|
||||
PATCH_UPGRADE_SUPPORT=true
|
||||
|
||||
# 线程优化版本
|
||||
THREAD_OPT_VERSION=4.0.1
|
||||
# matrix版本
|
||||
MATRIX_VERSION=2.0.8
|
||||
|
||||
|
||||
Reference in New Issue
Block a user