1

私は持っている

public class ScreenReceiver extends BroadcastReceiver {

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

}

そして、レシーバーが実行されるたびにブール変数をチェックしています。ここで変数を使用するのは賢明volatileですか? スレッドはありませんが、常にこの変数の最新の状態が必要です。

4

2 に答える 2

3

オブジェクトを使用しているスレッドが 1 つだけの場合、変数を volatile にしても意味がありません。

于 2013-02-25T13:54:43.177 に答える
2

揮発性は、複数のスレッドに対してのみ値を最新に保ちます。単一のスレッドを使用する場合は、それについて心配する必要はありません。ただし、クラスのインスタンスが破棄された場合 (非常に可能性が高い)、新しい値 (デフォルト値) を取得するため、値をユーザー設定に保持することを検討する必要があります。

于 2013-02-25T14:07:28.503 に答える