[Opt3.0]新增StartUp模块并调整启动顺序

This commit is contained in:
chenfufeng
2023-01-31 11:39:36 +08:00
parent fa04cc6f0b
commit dcc98b078b
35 changed files with 437 additions and 240 deletions

View File

@@ -1,28 +1,12 @@
package com.mogo.launcher;
import android.content.Context;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.eagle.core.data.config.FunctionBuildConfig;
import com.mogo.eagle.core.function.call.startup.CallerStartUpManager;
import com.mogo.eagle.core.function.main.MainMoGoApplication;
import com.mogo.eagle.core.utilcode.mogo.logger.LogLevel;
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
import com.mogo.eagle.core.utilcode.util.ProcessUtils;
import com.mogo.launcher.crash.CrashSystem;
import com.mogo.launcher.stageone.APMStartup;
import com.mogo.launcher.stageone.ARouterStartUp;
import com.mogo.launcher.stageone.ConfigStartUp;
import com.mogo.launcher.stageone.HttpDnsStartUp;
import com.mogo.launcher.stageone.ThreadOptStartup;
import com.rousetime.android_startup.StartupListener;
import com.rousetime.android_startup.StartupManager;
import com.rousetime.android_startup.model.LoggerLevel;
import com.rousetime.android_startup.model.StartupConfig;
import com.zhidaoauto.map.sdk.open.HDTypes;
import com.zhidaoauto.map.sdk.open.MapAutoApi;
import com.zhidaoauto.map.sdk.open.MapParams;
import org.greenrobot.eventbus.EventBus;
import com.mogo.launcher.startup.ARouterStartUp;
import com.mogo.launcher.startup.ConfigStartUp;
/**
* @author congtaowang
@@ -34,43 +18,12 @@ public class MogoApplication extends MainMoGoApplication {
@Override
public void onCreate() {
startUpInStage1();
ARouterStartUp.init(this);
ConfigStartUp.init(this);
CallerStartUpManager.initStageOne();
super.onCreate();
}
private final StartupListener startupListener = (l, costTimesModels) -> EventBus.getDefault().postSticky(costTimesModels);
/**
* 第一阶段初始化
*/
public void startUpInStage1() {
StartupConfig config = null;
if (DebugConfig.isDebug()) {
config = new StartupConfig.Builder()
.setLoggerLevel(LoggerLevel.DEBUG)
.setOpenStatistics(true)
.setListener(startupListener)
.build();
} else {
config = new StartupConfig.Builder()
.setLoggerLevel(LoggerLevel.NONE)
.setOpenStatistics(false)
.setAwaitTimeout(10000L)
.setListener(startupListener)
.build();
}
new StartupManager.Builder()
.addStartup(new HttpDnsStartUp())
.addStartup(new APMStartup())
.addStartup(new ConfigStartUp())
.addStartup(new ARouterStartUp())
.addStartup(new ThreadOptStartup())
.setConfig(config)
.build(this)
.start()
.await();
}
@Override
protected void initCrashConfig() {
CrashSystem crashSystem = CrashSystem.getInstance(this);