[Opt]新增OOM内存监测
This commit is contained in:
@@ -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')
|
||||
|
||||
@@ -9,6 +9,10 @@ import android.view.*
|
||||
import android.widget.FrameLayout
|
||||
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
|
||||
@@ -47,6 +51,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
|
||||
|
||||
|
||||
/**
|
||||
@@ -233,6 +238,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