第79章、多线程(从零开始学Android)

本文探讨Android中多线程的重要性,旨在改善用户体验并防止应用程序未响应(ANR)。遵循‘三不’原则,将耗时操作移至后台线程处理,避免Main线程阻塞。介绍了可能在Main线程执行的方法,如Activity生命周期和事件处理,并建议将这些操作优化。同时,文章提到了同步和异步事件处理的区别,以及线程间通讯的常见方案:Handler和AsyncTask。
摘要由CSDN通过智能技术生成

  多线程是很多人最为头疼的部人,但在Android里,你又是不是不面对的部分。而实际上,你如果愿意花点功夫,多线程也没有什么了不起,懂了,也就很简单了。

1、为什么要用多线程?

  (1)提高用户体验;
  (2)避免应用程序未响应(Application is not responding)
   移动开发的“三不”原则:不让用户等、不让用户想、不要用户烦。响应慢了用户需要等,等的次数多了就会烦,你的应用离被卸载不远了。
   即使你的程序中某个事件响应不超过5秒钟,人眼可以分辨的时间是0.1秒,小于0.1秒基本感觉不出来,超过0.2秒用户就能感觉到有点儿卡了,俗称打嗝现象,2秒以上就很慢了,用户体验会很差。有同学说我可以用进度条啊,但你的程序中不能到处都是进度条,否则那个圈圈会把用户转晕的,好像在对用户说,画个圈圈烦死你……
  比如某些应用,它要显示很多图片,还好它是异步的,不过在图片加载完成前每个图片的位置上都有一个圈圈,让人看了很烦。你可以变通一下,图片加载成功之前显示一个默认的图片,加载成功后再刷新一下即可,何必弄那么多进度条呢?

2、处理的基本原则:
  
所有可能耗时的操作都放到其他线程去处理。
  Android中的Main线程的事件处理不能太耗时,否则后续的事件无法在5秒内得到响应,就会弹出ANR对话框。那么哪些方法会在 Main线程执行呢?
  (1)Activity的生命周期方

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蒋会全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值