Android 线程越来越快
Android Thread is Getting Faster
这是我的背景任务
private Runnable backgroundTask= new Runnable() {
@Override
public void run() {
try{
for(int n=0; n<9000; n++) {
Thread.sleep(1000);
myHandler.post(foregroundTask);
}
} catch(InterruptedException e) {
e.printStackTrace();
}
}
};
这是我的前台任务
private Runnable foregroundTask= new Runnable() {
@Override
public void run() {
try{
konumlar[0]+=1;
if (konumlar[0]==100)
konumlar[0]=0;
if (zaman<100)
zaman++;
for (int a=1;a<buses;a++){
if(zaman>baslangic[a])
konumlar[a]+=1;
if(konumlar[a]==100)
konumlar[a]=0;
}
} catch(Exception e) {
e.printStackTrace();
}
}
};
这是第一次做的不错。但是在我的线程变得更快之后。它应该每 1 秒工作一次。但它越来越快。我不明白。我也在使用其他一些值 类.
@Override
protected void onStart() {
super.onStart();
Thread myThread1 = new Thread(backgroundTask, "backAlias1");
myThread1.start();
}
看起来你在回到#start 方法时启动了几个线程,因为你没有停止旧的方法。
这是我的背景任务
private Runnable backgroundTask= new Runnable() {
@Override
public void run() {
try{
for(int n=0; n<9000; n++) {
Thread.sleep(1000);
myHandler.post(foregroundTask);
}
} catch(InterruptedException e) {
e.printStackTrace();
}
}
};
这是我的前台任务
private Runnable foregroundTask= new Runnable() {
@Override
public void run() {
try{
konumlar[0]+=1;
if (konumlar[0]==100)
konumlar[0]=0;
if (zaman<100)
zaman++;
for (int a=1;a<buses;a++){
if(zaman>baslangic[a])
konumlar[a]+=1;
if(konumlar[a]==100)
konumlar[a]=0;
}
} catch(Exception e) {
e.printStackTrace();
}
}
};
这是第一次做的不错。但是在我的线程变得更快之后。它应该每 1 秒工作一次。但它越来越快。我不明白。我也在使用其他一些值 类.
@Override
protected void onStart() {
super.onStart();
Thread myThread1 = new Thread(backgroundTask, "backAlias1");
myThread1.start();
}
看起来你在回到#start 方法时启动了几个线程,因为你没有停止旧的方法。