From 879bbc2a901bfe34990df15796be1f34c823f018 Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Wed, 9 Aug 2023 18:27:50 +0800 Subject: [PATCH] =?UTF-8?q?[Opt]=E6=96=B0=E5=A2=9EOOM=E5=86=85=E5=AD=98?= =?UTF-8?q?=E7=9B=91=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.gradle | 1 + .../mogo-core-function-hmi/build.gradle | 1 + .../eagle/core/function/main/MainActivity.kt | 21 +++++++++++++++++++ 3 files changed, 23 insertions(+) diff --git a/config.gradle b/config.gradle index 6b427de3e0..fb251463d2 100644 --- a/config.gradle +++ b/config.gradle @@ -203,6 +203,7 @@ ext { //========================= Koom ====================== koomnative : "com.kuaishou.koom:koom-native-leak-static:2.2.0", koomxhook : "com.kuaishou.koom:xhook-static:2.2.0", + koomjava : "com.kuaishou.koom:koom-java-leak-static:2.2.0", //========================= Koom ====================== recyclerviewadapterhelper : "io.github.cymchad:BaseRecyclerViewAdapterHelper:3.0.4", diff --git a/core/function-impl/mogo-core-function-hmi/build.gradle b/core/function-impl/mogo-core-function-hmi/build.gradle index 30b910d2f6..1f12996448 100644 --- a/core/function-impl/mogo-core-function-hmi/build.gradle +++ b/core/function-impl/mogo-core-function-hmi/build.gradle @@ -72,6 +72,7 @@ dependencies { implementation rootProject.ext.dependencies.android_start_up implementation rootProject.ext.dependencies.cicle_indicator + implementation rootProject.ext.dependencies.koomjava implementation rootProject.ext.dependencies.koomnative implementation rootProject.ext.dependencies.koomxhook api project(':test:crashreport-apmbyte') diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt index 29cb52dc91..2d4f7e3325 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt @@ -12,6 +12,10 @@ import android.widget.FrameLayout import androidx.core.app.ActivityCompat import androidx.recyclerview.widget.LinearLayoutManager import com.kwai.koom.base.MonitorManager.addMonitorConfig +import com.kwai.koom.javaoom.monitor.OOMHprofUploader +import com.kwai.koom.javaoom.monitor.OOMMonitor +import com.kwai.koom.javaoom.monitor.OOMMonitorConfig +import com.kwai.koom.javaoom.monitor.OOMReportUploader import com.kwai.koom.nativeoom.leakmonitor.LeakListener import com.kwai.koom.nativeoom.leakmonitor.LeakMonitor.start import com.kwai.koom.nativeoom.leakmonitor.LeakMonitorConfig @@ -50,6 +54,7 @@ import com.mogo.map.listener.MogoMapListenerHandler.Companion.mogoMapListenerHan import com.mogo.map.uicontroller.EnumMapUI import com.zhjt.service.chain.ChainLog import kotlinx.android.synthetic.main.module_main_activity_main.* +import java.io.File /** @@ -239,6 +244,22 @@ open class MainActivity : MvpActivity(), MainView, } private fun startLeakMonitor() { + val oomMonitorConfig = OOMMonitorConfig.Builder() + .setEnableHprofDumpAnalysis(true) + .setHprofUploader(object : OOMHprofUploader { + override fun upload(file: File, type: OOMHprofUploader.HprofType) { + + } + }) + .setReportUploader(object : OOMReportUploader { + override fun upload(file: File, content: String) { + printLeakMsg("OOMLeak--$content") + } + }) + .build() + addMonitorConfig(oomMonitorConfig) + OOMMonitor.startLoop(true, false, 5_000L) + val leakMonitorConfig: LeakMonitorConfig = LeakMonitorConfig.Builder() .setLoopInterval(50000) .setMonitorThreshold(16)