use*_*055 1 java multithreading android blocking ui-thread
我不明白为什么我的主UI线程被阻止.我有调用函数doSomething()的按钮.
randomButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
doSomething();
}
});
}
// My private helper funtion
private void doSomething() {
Thread t1 = new Thread() {
@Override
public void run() {
long startTime = SystemClock.uptimeMillis();
Log.e(TAG, "Start Time = "+startTime);
while((SystemClock.uptimeMillis()-startTime)<6000){// Loop for 6 seconds
Log.e(TAG, "Diff ="+(SystemClock.uptimeMillis()-startTime));
}
}
};
t1.run();
}
Run Code Online (Sandbox Code Playgroud)
问题是当我按下按钮时,它仍然按下循环运行的时间(这里是6秒).我希望它以这样一种方式,即使循环继续运行,用户仍然可以使用他的UI元素.这就是我创建一个新线程的原因.难道我做错了什么 ?
谢谢
| 归档时间: |
|
| 查看次数: |
1069 次 |
| 最近记录: |