android 主线程的相关问题

A1174770492 2015-03-04 03:13:28
我们都知道,android有一个线程叫做主线程,
也叫做UI线程。问题来了,主线程会执行Looper中的loop方法的,
但是loop方法中有一个while(true),那么这个主线程不会一直卡在那里么???
...全文
102 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
路人戊戌乙亥 2015-03-04
  • 打赏
  • 举报
回复
主loop是负责所有消息的,2楼说的MessageQueue就是这样。 onCreate也是一个事件,这个事件也是通过Looper dispatch出来的事件
A1174770492 2015-03-04
  • 打赏
  • 举报
回复
引用 1 楼 fullfree 的回复:
好比在windows上可以看到的MFC代码一样,有一个类似的while(...),一直在getMessage,处理和dispatchMessage。 代码如果只是一个while(true){}自然不行,但Looper里要等待消息和处理。可以理解为它在没有消息的时候,有一个交出CPU时间片的操作,类似于thread.yield()。
你好,但是主线程不还是要处理其他activity的onCreate,onResume方法的么?这样不久会造成这些方法不能被执行了??? 期待您的回复。
fullfree 2015-03-04
  • 打赏
  • 举报
回复
好比在windows上可以看到的MFC代码一样,有一个类似的while(...),一直在getMessage,处理和dispatchMessage。 代码如果只是一个while(true){}自然不行,但Looper里要等待消息和处理。可以理解为它在没有消息的时候,有一个交出CPU时间片的操作,类似于thread.yield()。

80,359

社区成员

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

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