android 主线程的相关有关问题
android 主线程的相关问题
我们都知道,android有一个线程叫做主线程,
也叫做UI线程。问题来了,主线程会执行Looper中的loop方法的,
但是loop方法中有一个while(true),那么这个主线程不会一直卡在那里么???
------解决思路----------------------
好比在windows上可以看到的MFC代码一样,有一个类似的while(...),一直在getMessage,处理和dispatchMessage。
代码如果只是一个while(true){}自然不行,但Looper里要等待消息和处理。可以理解为它在没有消息的时候,有一个交出CPU时间片的操作,类似于thread.yield()。
------解决思路----------------------
主loop是负责所有消息的,2楼说的MessageQueue就是这样。
onCreate也是一个事件,这个事件也是通过Looper dispatch出来的事件
我们都知道,android有一个线程叫做主线程,
也叫做UI线程。问题来了,主线程会执行Looper中的loop方法的,
但是loop方法中有一个while(true),那么这个主线程不会一直卡在那里么???
------解决思路----------------------
好比在windows上可以看到的MFC代码一样,有一个类似的while(...),一直在getMessage,处理和dispatchMessage。
代码如果只是一个while(true){}自然不行,但Looper里要等待消息和处理。可以理解为它在没有消息的时候,有一个交出CPU时间片的操作,类似于thread.yield()。
------解决思路----------------------
主loop是负责所有消息的,2楼说的MessageQueue就是这样。
onCreate也是一个事件,这个事件也是通过Looper dispatch出来的事件