Android中:view postdelay 与handler postdelay区别

淩禪風語 2016-04-17 02:08:59
如上面标题,请详解,越详细越好,最好能举个栗子.分不多,别嫌弃,讨论技术要紧........一个是延迟的消息机制,一个是view的延迟操作,view的如果是在主线程,postdelay就是在主线程,延迟和耗时操作之间有点混乱,延迟过久会不会导致ANR,延迟/耗时,耗时/延迟,时间?ANR?问解答迷惑.........谢谢
...全文
655 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xingzhong128 2016-04-18
  • 打赏
  • 举报
回复
延迟不会导致anr问题,anr是因为一直在不停的做操作超过5s导致的
  • 打赏
  • 举报
回复
可以看看源码:

 public boolean postDelayed(Runnable action, long delayMillis) {
        final AttachInfo attachInfo = mAttachInfo;
        if (attachInfo != null) {
            return attachInfo.mHandler.postDelayed(action, delayMillis);
        }
        // Assume that post will succeed later
        ViewRootImpl.getRunQueue().postDelayed(action, delayMillis);
        return true;
    }
view.postDelayed其实也是利用handler.postDelayed实现的,所以本质上应该没有区别。
silenccce 2016-04-17
  • 打赏
  • 举报
回复
楼主,推荐你了解一下Android的消息机制,你说的那些,都是基于消息机制的。可以看一下我博客里面的一篇消息机制的文章。http://blog.csdn.net/hjf_huangjinfu

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧