目的:handler.postDelayed()用于在主线程上延迟执行某段代码。主要用于界面更新和处理耗时操作。
一.主线程与界面更新
1.所有UI相关的更新,都必须在主线程上执行。handler.postDelayed()是一种便捷的方式,它允许你将代码在主线程上执行,还可以设置延迟时间。默认会在主线程上执行。
2.如果是一段时间内持续更新UI(例如实时显示数值变化),使用handler.postDelayed()是一个非常常见的做法
二. 延迟执行
会延迟执行,但不会阻塞主线程
通过 handler.postDelayed(一
,你可以指定延迟一段时间后再执行代码。该方法接受两个参数:
- 第一个参数是一个
Runnable
对象(包含你要执行的代码)。 - 第二个参数是延迟时间(单位是毫秒)。
三. 性能优化
通过定期延迟执行,避免频繁更新 UI 导致的性能问题。