您的位置:首页 > 理论基础 > 计算机网络

Android学习(33) -- 网络请求总结

2016-04-21 20:35 453 查看

主线程阻塞

在4.0后不能直接在主线程中进行网络操作

UI停止刷新,应用无法响应用户操作

耗时操作不应该在主线程进行

ANR

application not responding

应用无响应异常

主线程阻塞时间过长,就会抛出ANR

主线程又称UI线程,因为只有在主线程中,才能刷新UI

消息队列机制

主线程创建时,系统会同时创建消息队列对象(MessageQueue)和消息轮询器对象(Looper)

轮询器的作用,就是不停的检测消息队列中是否有消息(Message)

消息队列一旦有消息,轮询器会把消息对象传给消息处理器(Handler),处理器会调用handleMessage方法来处理这条消息,handleMessage方法运行在主线程中,所以可以刷新ui

总结:只要消息队列有消息,handleMessage方法就会调用

子线程如果需要刷新ui,只需要往消息队列中发一条消息,触发handleMessage方法即可

子线程使用处理器对象的sendMessage方法发送消息

*

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: