开发者社区> 问答> 正文

Android中Thread.sleep和UI组件更新的关系

如题,在调试一个程序时,先执行了ImageView的setDrawableResource()方法,然后调用Thread.sleep()延时一段时间,但是实际是在延时完成后ImageView的图片才改变

展开
收起
爵霸 2016-07-29 16:46:20 3630 0
2 条回答
写回答
取消 提交回答
  • UI 线程有一个 MseeageQueue, 所有的 UI 函数都会在这个 queue 上执行, 包括刷新界面, 显示图片等, 如果你在setDrawableResource里面 sleep, 就会 block 这个 queue, 后面刷新图片的操作就需要等待这个 sleep 完成以后才会被执行.

    2019-07-17 20:01:56
    赞同 展开评论 打赏
  • 把你的延时放到线程中去,时间到了,通过handler同志ui继续下面的操作

    2019-07-17 20:01:56
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载