您的位置:首页 > 产品设计 > UI/UE

Android UI线程

2016-09-18 10:47 519 查看
一: 

1,当一个应用程序启动之后,android 系统会为这个应用程序创建一个主线程,这个线程非常重要,它负责渲染视图,分发事件到响应监听器并执行,对界面进行轮询的监听,因此,一般也叫做“UI线程”

2,android 系统不会给应用程序的多个元素组件,建立多个线程来执行,一个视图(activity)中的多个view组件运行在同一个UI线程当中。因此,多个View组件的监听器的执行可能会相互影响。

例如:当在UI线程当中执行耗时操作,比如访问网络,访问数据库等等,则会导致UI线程阻塞。当UI线程阻塞,则屏幕会出现卡死现象,这样用户体验就会感觉非常差,当线程阻塞超过5s以后,android 系统则会进行干预,弹出对话框进行询问是否关闭应用程序。

new Thread(new Runable(){

@override

public void run(){

try{

Thread.sleep(10000);

}catch(Exception e){

e.printStackTeace();

}

}

}){

}.start();

谷歌官方提供了两个规则:

1,不要阻塞UI线程(用户体验差)

2,不要在UI线程之外的其他线程中对视图当中的组件进行设置(报异常)

解决方式:

1,view.post()

2,Asynctask()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: