Android 如何使使用处理程序类的postDelayed成为非并发/并行的。还是在一个线程中?
这很奇怪。为什么我延迟1000毫秒,比如说1000次,它们似乎同时运行?我希望它每100毫秒运行一次。一切都马上就出来了 或者我需要配置一些东西使其并发。我使用的是安卓4.0 这是我的密码:Android 如何使使用处理程序类的postDelayed成为非并发/并行的。还是在一个线程中?,android,concurrency,Android,Concurrency,这很奇怪。为什么我延迟1000毫秒,比如说1000次,它们似乎同时运行?我希望它每100毫秒运行一次。一切都马上就出来了 或者我需要配置一些东西使其并发。我使用的是安卓4.0 这是我的密码: public void startAniHandler() { Runnable runnable = new Runnable() { @Override public void run() { Log.v("running",
public void startAniHandler() {
Runnable runnable = new Runnable() {
@Override
public void run() {
Log.v("running", "REad image and display handler");
}
};
Handler handler = new Handler(new android.os.Handler.Callback() {
@Override
public boolean handleMessage(Message msg) {
Log.v("stopping", "handler");
return false;
}
});
for(int i=0;i<100;i++) {
handler.postDelayed(runnable, 1000);
}
}
public void startAniHandler(){
Runnable Runnable=新的Runnable(){
@凌驾
公开募捐{
Log.v(“运行”、“读取图像和显示处理程序”);
}
};
Handler=newhandler(newandroid.os.Handler.Callback(){
@凌驾
公共布尔句柄消息(消息消息消息){
Log.v(“停止”、“处理程序”);
返回false;
}
});
对于(inti=0;iLuksprog所说的有效:
hatfor循环将以当前时间为起点发布Runnable,这样所有操作都将在同一时间完成(近似)。您可能需要这样的内容:handler.postDelayed(Runnable,1000+1000*i)更新:即使我将postDelayed增加到10000,任务也会立即开始,我一定是做错了什么。那for
循环将以当前时间为起点发布Runnable
,这样所有任务都会在同一时间完成。您可能需要这样的内容:handler.postDelayed(runnable,1000+1000*i);
你为什么不把它作为答案发布,它是正确的。它成功了。