Log.e(TAG, isChecked setter key:$key value:$value, Exception(stack))Exception(stack) 创建一个异常对象Log.e() 的第三个参数 Throwable 会把堆栈打印到 logcat。输出效果类似E T1p_CollaborationController: isChecked setter key:persist.lab.disclaimer.assistant value:false java.lang.Exception: stack at com.autolink.hmi.carsettings.view.TitleSwitchView.setIsChecked(TitleSwitchView.kt:68)Log.e(TAG, isChecked setter key:$key value:$value, Exception(stack))Exception(stack) 创建一个异常对象Log.e() 的第三个参数 Throwable 会把堆栈打印到 logcat。输出效果类似E T1p_CollaborationController: isChecked setter key:persist.lab.disclaimer.assistant value:false java.lang.Exception: stack at com.autolink.hmi.carsettings.view.TitleSwitchView.setIsChecked(TitleSwitchView.kt:68) at com.autolink.hmi.carsettings.view.TitleSwitchView.access$setIsChecked(...) at ... ← 调用者在这里之前分析的日志里没搜到 isChecked setter说明在那个场景下 isChecked 的 setter 没有被外部直接调用onCheckedChanged(false) 是来自 SwitchCompat内部的 setChecked()CompoundButton.onRestoreInstanceState → setChecked不经过 TitleSwitchView.isChecked 的 setter。Log.e(TAG, isChecked setter key:$key value:$value, Exception(stack))Exception(stack) 创建一个异常对象Log.e() 的第三个参数 Throwable 会把堆栈打印到 logcat。输出效果类似E T1p_CollaborationController: isChecked setter key:persist.lab.disclaimer.assistant value:false java.lang.Exception: stack at com.autolink.hmi.carsettings.view.TitleSwitchView.setIsChecked(TitleSwitchView.kt:68) at com.autolink.hmi.carsettings.view.TitleSwitchView.access$setIsChecked(...) at ... ← 调用者在这里这个方法调用很少用到在此记录一下
郑州网站建设
网页设计
企业官网