测试报出的launcher3 anr问题分析

1 .  从events log里面搜anr 01-05 10:24:10.066   555   572 I am_anr  : [0,902,com.android.launcher3,13155909,Broadcast of Intent { act=android.intent.action.TIME_TICK flg=0x50000014 (has extras) }]

可以看出是在接收TIME_TICK 这个广播发生anr的,这个广播是在LauncherModel里面接收的,为了刷新动态日历图标, 一分钟刷新一次。
else if(context.getResources().getBoolean(R.bool.calendar_icon_support) && 
                 (Intent.ACTION_DATE_CHANGED.equals(action)
                 ||Intent.ACTION_TIME_TICK.equals(action)
                  || Intent.ACTION_TIME_CHANGED.equals(action)
                  || Intent.ACTION_TIMEZONE_CHANGED.equals(action))){
                Log.d(TAG, "calendar come in refresh");
                final String packageName = "com.android.calendar";
                enqueuePackageUpdated(new PackageUpdatedTask(
                            PackageUpdatedTask.OP_UPDATE, new String[]{packageName}));
        }

接着看enqueuePackageUpdated里面做了什么操作, 
void enqueuePackageUpdated(PackageUpdatedTask task) {
        sWorker.post(task);
    }
sWorker是一个Handler, 这个地方只是进行了一个post操作, 不管PackageUpdatedTask 的run方法里面进行了什么操作, 仅从这个地方看是不会导致TIME_TICK  anr。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值