Android UI线程与工作进程

Android程序启动时创建的主线程负责UI交互,也称为UI线程。遵循单线程模型,不应在UI线程进行耗时操作以免引起未响应,也不应在非UI线程操作界面控件。示例代码演示了违反这两条规则的结果:在主线程中睡眠导致无响应,工作线程修改UI引发错误。工作线程用于执行耗时任务,避免阻塞UI,但需使用适当工具在工作线程中更新UI。
摘要由CSDN通过智能技术生成

当一个Android程序启动时,系统会为该程序创建一个进程,然后创建一个线程运行在这个进程中,称为主线程
主线程是程序和UI控件交互的进程,所以也被称为UI线程
单线程模型:Android中在单条线程中进行事件分发及UI交互的机制
两条规则:
1.不要在UI线程中进行耗时操作(会引起未响应等待)
2.不要在UI线程外操作界面控件(界面控件是非线程安全的)

我们创建个ThreadDemo文件来看一下这两条规则。
1.不要在UI线程中进行耗时操作(会引起未响应等待):
MainActivity.java

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        try {
            sleep(60*2*1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

结果:
运行程序后,点击back无反应
当我们运行程序后什么都不显示,点击Back键无

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值