在单线程模型中Message Handler Message Queue Looper之间的关系是什
在单线程模型中Message,Handler,Message Queue,Looper之间的关系是什么?
参考解答
拿主线程来说,主线程启动时会调用Looper.prepare()方法,会初始化一个Looper,放入Threadlocal中,接着调用Looper.loop()不断遍历Message Queue,Handler的创建依赖与当前线程中的Looper,如果当前线程没有Looper则必须调用Looper.prepare()。Handler , sendMessage到MessageQueue,Looper不断从MessageQueue中取出消息,回调handleMessage方法。
相似问题
横竖屏切换时候Activity的生命周期是怎样的?
横竖屏切换时候Activity的生命周期是怎样的?
启动一个程序 可以主界面点击图标进入 也可以从一个程序中跳转过去 二者有什么区别?
启动一个程序,可以主界面点击图标进入,也可以从一个程序中跳转过去,二者有什么区别?
AsyncTask使用在哪些场景?
AsyncTask使用在哪些场景?
AsyncTask的缺陷是什么?如何解决?
AsyncTask的缺陷是什么?如何解决?
内存溢出和内存泄漏有什么区别?何时会产生内存泄漏?
内存溢出和内存泄漏有什么区别?何时会产生内存泄漏?
