android 断点源码不对的一个坑

有时候会看看Android 源码,难免会去设置断点,看看源码是否执行这一步或者源码的逻辑,

最近重新看Handler源码的时候就遇到这么一个坑;

public final boolean sendMessage(@NonNull Message msg) {
        return sendMessageDelayed(msg, 0);
    }

在子线程发送消息这里断点,发现debug为主线程,如图:

 

 两种方式都显示在主线程,这就有问题了,难道handler发送消息就处于主线程了吗?哪还需要消息队列、Looper干啥?

经过好多天的思索,终于找到问题的答案了;

和手机的版本有关!

 就是要求手机的版本号要和项目的编译版本号一致!

 比如手机是安卓版本是30,那么gradle.build这里也要设置为30;

当然,断点非源码不受此坑影响;

好了,又可以愉快玩耍了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值