Log打印方法调用栈信息

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 ... ← 调用者在这里

这个方法调用很少用到,在此记录一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值