当前位置:   article > 正文

测试报出的launcher3 anr问题分析_broadcast of intent { act=android.intent.action.ti

broadcast of intent { act=android.intent.action.time_tick flg=0x50200014 (ha
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。


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/235684
推荐阅读
相关标签
  

闽ICP备14008679号