Android入门第36天-以一个小动画说一下Android里的Handler的使用

这篇博客介绍了Android主线程与子线程交互的Handler机制。为避免UI线程阻塞,Handler作为通道允许子线程发送消息,主线程在接收到消息后更新UI。以一个每隔100毫秒更换ImageView图片的动画效果为例,详细阐述了如何使用Handler、Timer和setImageResource实现这一功能。
摘要由CSDN通过智能技术生成

简介

我们在前面的Android教程中已经提到过这么一件事:Android在启动后会有一个主线程。它不允许任何子线程去改变主UI线程里的内容。

这么做是为了妨止,万一有一个带有大事务的线程导致了渲染组件时间过长最终导致Android UI出现“闪退”、“崩溃”的保护机制。

而实际我们在Android操作里的确是会有一些“耗时”的事情而采用异步线程,如:首页打开时调用第三方地图定位API、调用第三方银行API来显示你的余额、调用第三方社保显示你的当前社保缴纳费用和额度。

这种加载我们都会使用异步,一旦异步加载完后拿到结果再“刷新”在我们的主界面的控件里。那么此时由于Android的保护机制就不可以直接在异步线程里一个set()就完事了。

因此Android给我们提供了Handler机制。

Handler我们可以认为它是一个和Android主进程间的通道。

当异步任务、子任务等需要改变主UI线程里的控件的渲染、值、显示用变化,那么我们就通过Handler发一条消息。

当主线程Listener到了消息,然后就可以去做相应的值的改变和渲染了。

我们为了充分说明这个问题我们用一个ImageView

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

TGITCIC

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

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

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

打赏作者

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

抵扣说明:

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

余额充值