什么在UI线程上运行?

时间:2016-01-28 05:10:22

标签: android

完成所有绘图和其他任务后,主线程上运行的代码是什么?加载完成后,应用程序实际上没有其他任何东西可以处理。但它不能真正空闲否则它无法处理触摸事件。我认为应该有一个循环检查用户迭代,但我找不到相关的信息 感谢。

2 个答案:

答案 0 :(得分:1)

据我所知:

  • 基本上说AndroidOS总是听用户的 交互,然后将其传递给活动的应用程序。
  • 当您的应用程序正在运行并且在应用程序的顶部时的示例 应用程序堆栈(即当前活动应用程序),当与用户进行一些交互时,AndroidOS将首先接收并询问您应用程序 do you want to handle this action? (具有什么动作)并且坐标x =?,y =?)。如果您的应用程序回答 ok, it's mine, let me handle it - 这意味着您的应用程序已经实现处理该操作(它是触摸事件的监听器(单击,拖动,滑动)。 ..))然后你的申请将照顾其余的。其他明智的,如果你的应用程序说不,这不是我的一部分,AndroidOS将继续询问堆栈中的其他应用程序,直到有一个应用程序说是。最后,如果没有应用说YES,AndroidOS将决定通过操作系统或忽略来处理它。
  • 所以,回答你的问题:
  

主线程上运行的代码是什么? - > 无代码(无)

第二部分

  

加载完成后,应用程序实际上什么都没有   否则要处理。但它不能真正闲置,否则它不能   处理触摸事件。我认为应该有循环检查   加载所有内容后的用户迭代 - > 应用程序不会执行任何操作,只需从AndroidOS处理循环处理,然后如果存在交互操作,则AndroidOS将通知应用程序

答案 1 :(得分:0)

如果你正在处理主线程,那么如果你想在主线程中执行任何动作,你应该写

runOnUiThread