Merge branch 'dev_arch_opt_3.0' into 'dev_robobus-m1-p-app-module_1.1.0_230112_1.1.0'
Dev arch opt 3.0 See merge request zhjt/AndroidApp/MoGoEagleEye!729
This commit is contained in:
@@ -16,6 +16,7 @@ import com.mogo.eagle.core.data.deva.scene.SceneTAG
|
||||
import com.mogo.eagle.core.data.msgbox.MsgBoxBean
|
||||
import com.mogo.eagle.core.function.api.devatools.IDevaToolsProvider
|
||||
import com.mogo.eagle.core.function.api.devatools.apm.*
|
||||
import com.mogo.eagle.core.function.api.devatools.strict.*
|
||||
import com.mogo.eagle.core.function.call.map.*
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.zhjt.mogo_core_function_devatools.apm.*
|
||||
@@ -35,6 +36,7 @@ import com.zhjt.mogo_core_function_devatools.report.IPCReportManager
|
||||
import com.zhjt.mogo_core_function_devatools.report.IPCReportManager.Companion.iPCReportManager
|
||||
import com.zhjt.mogo_core_function_devatools.scene.SceneManager.Companion.sceneManager
|
||||
import com.zhjt.mogo_core_function_devatools.status.StatusManager
|
||||
import com.zhjt.mogo_core_function_devatools.strict.*
|
||||
import com.zhjt.mogo_core_function_devatools.trace.TraceManager.Companion.traceManager
|
||||
import com.zhjt.mogo_core_function_devatools.tts.TtsManager.Companion.ttsManager
|
||||
import com.zhjt.mogo_core_function_devatools.upgrade.UpgradeManager.Companion.upgradeManager
|
||||
@@ -48,7 +50,9 @@ class DevaToolsProvider : IDevaToolsProvider {
|
||||
|
||||
private var mContext: Context? = null
|
||||
|
||||
private val apmEnvProvider by lazy { ApmEnvProviderImpl }
|
||||
private val apmEnvProvider by lazy { ApmEnvProviderImpl() }
|
||||
|
||||
private val strictModeProvider by lazy { StrictModeProviderImpl() }
|
||||
|
||||
@Volatile
|
||||
private var mDockerVersion: String? = null
|
||||
@@ -253,4 +257,5 @@ class DevaToolsProvider : IDevaToolsProvider {
|
||||
override fun queryObuUpgrade(obuVersionName: String) {
|
||||
bindingCarManager.queryObuUpgrade(obuVersionName)
|
||||
}
|
||||
override fun strict(): IStrictModeProvider = strictModeProvider
|
||||
}
|
||||
@@ -17,9 +17,9 @@ import java.util.concurrent.atomic.AtomicBoolean
|
||||
import java.util.concurrent.atomic.AtomicReference
|
||||
import kotlin.coroutines.*
|
||||
|
||||
object ApmEnvProviderImpl: IApmEnvProvider, CoroutineScope {
|
||||
class ApmEnvProviderImpl: IApmEnvProvider, CoroutineScope {
|
||||
|
||||
private const val TAG = "ApmEnvProvider"
|
||||
private val TAG = "ApmEnvProvider"
|
||||
|
||||
private val scope by lazy { CoroutineScope(Dispatchers.IO + SupervisorJob()) }
|
||||
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.zhjt.mogo_core_function_devatools.strict
|
||||
|
||||
import android.os.*
|
||||
import android.os.StrictMode.ThreadPolicy.Builder
|
||||
import android.os.StrictMode.VmPolicy
|
||||
import com.mogo.eagle.core.function.api.devatools.strict.*
|
||||
|
||||
/**
|
||||
* 严格模式功能管理
|
||||
* 1. 监测主线程磁盘读写
|
||||
* 2. 监测主线程网络请求
|
||||
* 3. 监测磁盘输入输出流使用异常(未及时关闭)
|
||||
* 4. 监测数据库查询操作异常(cursor使用未关闭)
|
||||
* 5. 监测资源类型不匹配(TypedValue)
|
||||
* 6. 监测文件读写未使用Buffer(增加buffer可以减少系统调用,降低性能损耗)
|
||||
*/
|
||||
class StrictModeProviderImpl: IStrictModeProvider {
|
||||
|
||||
|
||||
override fun enable() {
|
||||
StrictMode.setThreadPolicy(
|
||||
Builder()
|
||||
.detectAll()
|
||||
.penaltyLog()
|
||||
.penaltyDropBox()
|
||||
.build())
|
||||
StrictMode.setVmPolicy(
|
||||
VmPolicy.Builder()
|
||||
.detectAll()
|
||||
.penaltyLog()
|
||||
.penaltyDropBox()
|
||||
.build())
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user