为什么我们可以在非UI线程中更新UI
1个回答
展开全部
在这里我们可以看到, (1)先判断是否是UI线程,是的话就直接执行doRefreshProgress()方法来更新 ProgressBar。
(2)否则创建一个RefreshProgressRunnable对象,然后添加到View的消息队列中也就是post(mRefreshProgressRunnable),说白就是用handler来更新UI。以下是源码的展示。
View.post(Runable)的实现
如果有描述不清楚的话,大家可以看看ProgressBar.java源码的实现。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询