返回信息流我的理解中UI线程是Android虚拟机启动后运行的主线程,它会去Manifest文件中识别出那个要启动的主Activity,然后经过一系列的xxxService启动这个activity,然后会回调这个activity各种生命周期方法,在onCreate中的setContent中用一个xml解析器去解析布局文件生成view树和设置一些回调,view树经过一些列的onMeasure onLayout onDraw方法后绘制到屏幕上。。。
此时activity栈中就存在了一个activity,UI线程也运行着(主要是Looper机制的循环吧???)。
那么UI线程和activity的关系是什么?
是不是当activity栈中的所有activity都finish后这个UI线程就退出了?
那要是我handler.postDelay(new Runnable...,10分钟),在UI线程10分钟后去执行一个任务,当10分钟内我退出了所有的activity,是不是这个runnable对象就不会得到执行了?
问题有点多,望指教。
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #30715同步于 2016/5/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖
Activity和UI线程的关系
tt88050643
2016/5/25镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
每个App启动的时候都会启动一个UI线程(Main Thread),Activity的所有生命周期都是在UI线程执行的,事实上四大组件都是在UI线程执行的。
1. 是不是当activity栈中的所有activity都finish后这个UI线程就退出了?
不是。因为除了Activity还有其他组件在主线程内执行。
2. 那要是我handler.postDelay(new Runnable...,10分钟),在UI线程10分钟后去执行一个任务,当10分钟内我退出了所有的activity,是不是这个runnable对象就不会得到执行了?
不是。理由同上,退出所有的Activity并不会导致主线程退出,消息队列内的消息会被正常执行。