Merge remote-tracking branch 'origin/dev_robotaxi-d_231024_6.1.2' into dev_robotaxi-d_231024_6.1.2

This commit is contained in:
wangmingjun
2023-10-27 18:13:56 +08:00
11 changed files with 58 additions and 71 deletions

View File

@@ -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/

View File

@@ -34,7 +34,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}"

View File

@@ -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"
}

View File

@@ -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')

View File

@@ -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);

View File

@@ -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);
}
}

View File

@@ -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")

View File

@@ -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()

View File

@@ -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()
}
}

View File

@@ -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
}
}

View File

@@ -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
@@ -143,8 +143,6 @@ ADAS_DATA_LIB_CHILD_VERSION=.4
# 是否支持patch升级
PATCH_UPGRADE_SUPPORT=true
# 线程优化版本
THREAD_OPT_VERSION=4.0.1
# matrix版本
MATRIX_VERSION=2.0.8