在我的 Android 应用程序中,我有一个带有视图的活动。
例如,在活动开始或创建主布局时,我想启动一个后台作业,每 5 秒从主布局更新 UI 视图。
因此,我目前的策略是在创建主布局期间使用派生自 View 的类的 runOnUiThread 方法来创建 Runnable。
线程正确启动,但在线程中我想等待 5 秒,然后再次更新 UI 视图。我的问题是当我使用 Thread.sleep 时,UI 被阻塞。
我猜 Thread.sleep() 会阻塞整个 UI,但我不知道必须如何解决该问题。
所以我的问题如下:实现我想要的最好的解决方案是什么(也许不使用睡眠)?
您可以使用Timer http://developer.android.com/reference/java/util/Timer.html安排重复TimerTask
。每次您想要更新 UI 时,您可以发布到Handler http://developer.android.com/reference/android/os/Handler.html您之前在 UI 线程中创建的。
只要记住cancel
your Timer
in onPause
并创建一个新的Timer
in onResume
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)