也许这是一个愚蠢的问题,我对android studio没有多少经验。对不起。
在我的应用程序中,我有很多代表页面的活动。在MainActivity中,我创建了一个总是侦听某些东西的线程(它保持循环)。但每当我返回MainActivity页面时,它都会创建另一个线程。如果我只想运行一次,有什么办法呢?
我在考虑是否可以使用静态变量来计算客户端运行的次数,并且如果已经存在,则阻止它创建另一个。
public class MainActivity extends AppCompatActivity {
private Thread client;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
client = new Thread(new CheckForOrders());
client.start();
.
.
}
答案 0 :(得分:1)
线程在任何情况下都只能运行一次。可能发生的是,每次销毁活动并在配置更改时重新创建(最常见的配置更改是设备轮换)时,您将创建线程的新副本。
如果要在活动实例之间保留后台线程,则有两个选项:
Service
。Fragment
。答案 1 :(得分:0)
由于你只想要一个Thread实例,你可以将它声明为静态的东西:
private static Thread client = new Thread(new checkForOrders());