【发布时间】:2013-09-12 17:39:01
【问题描述】:
我想在后台线程中运行一些 Runnable。我想使用 Handler 因为它方便延迟。 我的意思是
handler.post(runnable, delay);
runnable 应该在 background 线程中运行。 是否可以创建这样的处理程序? 某处是否有“背景” Looper,或者我该如何创建它?
附:我知道如何使用自定义类扩展 Thread 来做到这一点,但它需要比处理程序方式更多的编码工作。所以请不要发布其他解决方案或类似的东西
handler.post(new Runnable() {
@Override
public void run() {
new Thread() {
@Override
public void run() {
//action
}
}.start();
}
});
如果 Handler 能以“干净”的方式做到这一点,我只是徘徊。
【问题讨论】:
-
你不能从后台线程运行其他线程。您只能从主线程执行此操作。所以如果你想运行线程,你可以使用:getActivity().runOnUiThread(new Runnable() { ....在这里你创建新的处理程序。
-
@daro2189 我想从主线程运行一个后台线程,但是延迟了。我看到 Handler 可以从任何拥有它的线程中接受 Looper。我只是不知道是否可以在后台线程中创建 Looper。
标签: java android multithreading handler