0

私はチャットアプリケーションを持っています。私のコードにはインターネット接続を管理するスレッドがあります。しかし、数分後、私のスレッドはスリープ状態になります。WakeLockCPUとスレッドをウェイクアップするために使用する必要があることはわかっています。しかし、以下のコードを使用すると、バッテリーの使用量が増えます。

if (mWakeLock == null) {
                        mWakeLock = pm.newWakeLock(
                                PowerManager.PARTIAL_WAKE_LOCK,
                                "NewOnlineSignalingPowerManagerTag");
                    }
                    if (mWifiLock == null) {
                        mWifiLock = wm.createWifiLock(
                                WifiManager.WIFI_MODE_FULL,
                                "NewOnlineSignalingWifiManagerTag");
                    }
                    if (!mWakeLock.isHeld()) {
                        logging.l("mWakeLock.acquire()");
                        mWakeLock.acquire();
                    }
                    if (!mWifiLock.isHeld()) {
                        logging.l("mWifiLock.acquire()");
                        mWifiLock.acquire();
                    }

あなたは私にもっと良い方法を好むことができますか?

4

1 に答える 1

0

なぜインターネット接続を管理する必要があるのですか? その必要はありません。Android サービスを使用すると、スレッドの問題もスリープの問題もありません。

于 2012-11-27T06:02:42.983 に答える