1

我有

public class ScreenReceiver extends BroadcastReceiver {

private volatile boolean wifiNetwork = false;
private volatile boolean mobileNetwork = false;

}

并且我一直在执行接收器时检查布尔变量。在这里使用volatile变量是否明智?我没有任何线程,但我总是想要这个变量的最新状态。

4

2 回答 2

3

如果只有一个线程正在使用该对象,那么使变量变为 volatile 是没有意义的。

于 2013-02-25T13:54:43.177 回答
2

Volatile 只会让您的值在多个线程中保持最新。如果您使用单个线程,那么您不应该担心这一点。但是您应该考虑将值保留在用户首选项中,因为如果类的实例被破坏(很可能),那么您将获得新值(默认值)。

于 2013-02-25T14:07:28.503 回答