gpt4 book ai didi

android - 在自己的线程中运行连续调用方法的正确方法?

转载 作者:行者123 更新时间:2023-11-29 14:47:46 24 4
gpt4 key购买 nike

我正在使用 thread.sleep(100) 连续调用方法 doSomething()。这发生在 UIThread 上,因此 UIthread 变得无响应。在 Android 中,在单独的线程中运行方法 doSomething() 或整个 someobject 的正确方法是什么?

public void loop(){
while(true){
someObject.doSomething();
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

现在我正在使用

 new Thread(new Runnable() {
@Override
public void run() {
someObject.doSomething();

}
}).start();

这显然为每次迭代创建了一个不同的线程。我认为这不是正确的方法。 Android 中的正确方法是什么?

最佳答案

 new Thread(new Runnable() {
@Override
public void run() {
while(true){
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
someObject.doSomething();
}
}
}).start();

因为运行永远不会返回,所以线程永远不会结束并且会永远循环。它会大约每 100 毫秒调用一次 doSomething(尽可能接近 sleep ,这并不准确)。

关于android - 在自己的线程中运行连续调用方法的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29533934/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com