[Opt]新增OOM内存监测
This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -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?, MainPresenter?>(), 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)
|
||||
|
||||
Reference in New Issue
Block a user