工作线程中的CountdownTimer更新UI线程

时间:2016-03-30 16:56:00

标签: android multithreading countdowntimer

目前我有一个在UI线程上运行的CountdownTimer,并且正在根据onTick更新界面。

它并不总是按预期工作,因为我看到如果我把它放在后台(按下主页按钮)并启动其他CPU需要的应用程序,应用程序可能会卡住。我想最好的解决方案是将CountDownTimer移动到后台线程。我错了吗?

根据CountDownTimer的勾选更新UI线程的最佳方法是什么?使用AsyncTask可能不是一个好主意,因为它建议用于短任务,但我发现了一些针对IntentService和LocalBroadcastManager的建议。

实现这一目标的最佳解决方案是什么?例子很棒。谢谢!

1 个答案:

答案 0 :(得分:0)

1)使用AlarmManager和Pending意图定期进行未来任务。 Check this

2)使用Handler发布Runnable以更新UI。

new Handler(Looper.getMainLooper()).post(new Runnable() {
                @Override
                public void run() {
                    Toast.makeText(context,"This is run on UI thread",Toast.LENTH_SHORT).show();
                }
            });