問題タブ [sleep-mode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1852 参照

java - Windows 10 の Java Thread.sleep() が S3 スリープ状態で停止する

Thread.sleep() を使用して長い (分または時間) の遅延を実現するデスクトップ アプリケーションがあります。この同じアプリケーションは、Windows XP から (少なくとも) Windows 7 まで正常に動作しています。このアプリケーションは、何かを実行する必要がある未来を計算し、Thread.sleep(msToWait) をヒットします。待機中にシステムがたまたま S3 スリープ状態になったとしても、これは正常に機能しています。

ただし、Windows 10 の時点では、マシンが S3 にある場合、Thread.sleep() の後のコードは「時間どおりに」実行されません。マシンは、「msToWait」に加えて、マシンが S3 にあった時間でコードの実行を開始するようです (現時点では 100% 確実ではありませんが、可能性は高いです)。

Windows の以前のバージョンでは、この動作は見られませんでした。Thread.sleep() の後のコードは、スリープ状態に関係なく、適切な時間待機しました。

テストは現在の JVM 1.7 で行われています。

これは Windows 10 のバグですか? これは JVM のバグですか? 回避策はありますか?

追加データ:

テストプログラムと手順が開発されました。手順は、プログラムを実行し、マシンを約 1 分間スリープさせてから、マシンを復帰させ、プログラムが終了するのを待ちます。

このプログラムが JVM バージョン: 25.40-b25 の Windows 10 (8 としてレポート) で実行されている場合、失敗します。

プロセスが Windows 7 で実行されている場合、プロセスは失敗しません。

これはテストプログラムです:

他のさまざまな睡眠方法を試すことができることはわかっていますが、これを試して文書化したので、他のことを試す前にここに投稿すると思いました.

追加情報: この障害は、Windows 8 でも発生するようです (ただし、7 以前では発生しません)。

追加 2019 年 4 月 4 日

この問題は、bugs.java.com の次の URL [JDK-8221971][1] で確認できます。

そのバグに関連する以前のバグがいくつかあります。linke JDK-8146730 バグからのコメント:

17-04-2017 このトピックに関するニュースはありますか?

2019.04.04 延期となりました。これは優先度が低く、複雑な問題であり、誰も積極的に割り当てられていません。

追加 2021 年 2 月 17 日

これはおそらく、Windows オペレーティング システムがタイムアウトに応答するようにプログラムされている方法が変更されたためです。Windows API を直接使用しても、古い Windows OS と新しい Windows OS の動作を同じにするという目標を達成する方法がわかりません。

Windows XP、Windows Server 2003、Windows Vista、Windows 7、Windows Server 2008、および Windows Server 2008 R2: dwMilliseconds 値には、低電力状態で費やされた時間が含まれます。たとえば、コンピュータがスリープしている間、タイムアウトはカウントダウンを続けます。

Windows 8、Windows Server 2012、Windows 8.1、Windows Server 2012 R2、Windows 10、および Windows Server 2016: dwMilliseconds 値には、低電力状態で費やされた時間は含まれません。たとえば、コンピュータがスリープ状態の間、タイムアウトはカウントダウンしません。

https://docs.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-waitforsingleobjectex

0 投票する
0 に答える
499 参照

android - Android で奇妙な動作をするバックグラウンドの Cordova アプリケーション

私は、10秒ごとにユーザーの現在の場所をサーバーに送信する必要があるCordovaアプリケーションに取り組んでいます。そのために、Geolocation pluginを使用しています。ここに私のコードスニペットがあります:

アプリがフォアグラウンドにある場合、すべてが非常にうまく機能します。つまり、アプリは gLat および gLng 変数に保存されている場所を取得し、10 秒ごとにサーバーに送信します。しかし、バックグラウンドに移行して電話がスリープ モードになると、奇妙な動作が見られます。updateLocationToServer()10 秒ごとに呼び出されるのではなく、1 分ごとに呼び出され、時にはさらに悪化するという意味で奇妙です。スリープ モードで 10 秒が 1 分と解釈される仕組みがわかりません。このような遅延の考えられる理由を知りたいですか? 私のアプリケーションは主にタクシー運転手向けで、常に追跡したいと考えています。クライアントのビジネス全体は、これに依存しており、成功するか失敗するかはそのようなものです。あなたの提案をお願いします。

編集: 私のクライアントは 3G および 4G ネットワークを使用してアプリをテストしています。

0 投票する
1 に答える
148 参照

c# - シャットダウンを防ぎ、スリープに置き換えます

ネットワーク管理者として、私はすべてのコンピューターを数週間 (シャットダウンするのではなく) スリープ状態に保つようにしています。これは、コンピューターをウェイクアップするタスクをスケジュールして、他の場所に物理的に移動する必要なくそれらを維持/チェックできるためです。 .

ただし、ユーザーが自分でコンピューターの電源をオフにするだけの場合もあります。だから私は立ち往生していて、そこに移動する必要があります...

私はプログラム的に(C#)したいと思います: - Windowsのシャットダウンを検出/キャッチ - 「shutdown -a」のようなものを実行してキャンセルします。- タスク スケジューラでウェイクアップを計画します - 最後に、シャットダウンではなく SLEEP を使用してコンピュータの電源を切ります。

基本的に、私の目的は、シャットダウンをスリープに置き換えて、スケジュールされたタスクでウェイクアップすることです。誰かがいくつかの可能性について私に教えてもらえますか?

私がまだ試したこと:これでWindowsフォームを作成しました:

システムがシャットダウンを処理しているため、cmd をもう実行できないため、エラーがスローされます。

0 投票する
0 に答える
1512 参照

android - Android がディープ スリープ モードに入ると、アクティブなソケットはどうなりますか?

ソケット接続に問題があります。アプリをバックグラウンドで実行したままにして、戻ると、すべて正常に動作します。複数のアプリを開いてデバイスのメモリを使い果たすと、アプリとそのサービスが強制終了され、アプリに戻るとすべてが期待どおりに再作成されます。これまでのところ何も問題はありません。この問題は、アプリをバックグラウンドで実行したままにし、画面を長時間 (15 分間) オフにしたときに発生します。どうやら「切断」されたサービスで生きているライブソケット接続があります。サービス自体は強制終了されません。それは確かですが、何らかの方法で接続が応答しなくなります。

私は、2 つの理由から深い睡眠が原因ではないかと疑っています。1. これはエミュレーターでは発生しません。2. USB 経由で接続されている場合、これは私のデバイスでは発生しません。

間違っているかもしれませんが、これがどのように機能するか知りたいです。これに関するドキュメントはあまり見つかりませんでした。デバイスがスリープモードに入る時期を知る方法が欲しいので、自分でサービスを強制終了できます(再作成されるとソケットも削除されます)

私はファイヤーベースを使用しています。:)

0 投票する
2 に答える
509 参照

android - スリープ モードの Android kitkat アラーム マネージャー

kitkatデバイスがスリープ モードの場合、アラーム マネージャのバージョンに問題があります。

アラームでデバイスが目覚めない >>> Wi-Fi に接続するか、バッテリーを充電すると、すべて正常に動作します

助言がありますか ..

私のアラームマネージャー

0 投票する
1 に答える
174 参照

android - Android がスリープ モードから復帰すると、http 呼び出しで ClientProtocolException が発生する

電源ボタンを押して画面を復元すると、デバイスが「スリープ」または省電力モード (画面が黒くなる) になると、すべてが正常に機能します。DefaultHttpClientただし、(を使用して) HTTP 呼び出しを実行しようとすると、ClientProtocolException例外が発生します。その後、アプリケーションを終了して再び戻る必要があり、すべて正常に動作します。新しい URLConnection パッケージが利用可能であることは知っていますが、リファクタリングにはしばらく時間がかかります。これを修正する方法はありますか?

失敗するコードのサンプルを次に示しますが、デバイスがスリープするまで問題なく動作します。

これは、失敗時に取得するスタック トレースです。

注: これは、画面がスリープ状態になるだけでは発生しません...これも時間の要因です (10 分以上アイドル状態)。怠惰のために何かが記憶から引き出されることに関連しているのではないかと思いますか? 前もって感謝します!

0 投票する
1 に答える
593 参照

android - デバイスがスリープ状態になると、Androidはカスタムホームランチャーアプリを殺しますか

キオスクアプリを作っています。アプリをデフォルトのランチャーとして設定しました。アプリは毎日午前 8:00 から午後 11:00 まで自動的に動作し、次の午前 8:00 までスリープ状態になります。デバイスがスリープ状態になると、アンドロイドは中断されたアプリを強制終了するのだろうか? OKの場合、どうすれば防止できますか?

0 投票する
0 に答える
374 参照

android - Androidのバックグラウンドでの位置情報の更新

サービスとブロードキャストレシーバーを使用して、バックグラウンドでサーバーに位置情報の更新を提供するアプリを構築します。位置情報のメソッドを実行するタイマー (X 分ごとに実行) を配置します。問題と質問があります。これのリストがあります。

1.デバイスがスタンバイ モードまたはスリープ モードのときにタイマーがスリープ状態になる

2.ユーザーの最後の場所と現在の場所の距離が500m以上の場合、場所を更新する必要があります.

3.スリープモードに移行するためのデバイスの分数または秒数を知りたいですか?

4.デバイスのスリープモードで停止またはスリープするのではなく、実行中のデバイスモードでタイマーが完全に実行されるのはなぜですか?

私のタイマータスク

タイマーを実行する正しい方法はありますか? はいの場合、デバイスがスタンバイ モードまたはスリープ モードのときにスリープするのはなぜですか?

たくさんのサイトを検索しましたが、見つかりません。前もって感謝します

0 投票する
2 に答える
1639 参照

c++ - 長い C++ Visual Studio プログラムの実行中に Windows がスリープする

Windows 8.1、Visual Studio 2013 を使用しており、15 分以上実行される C++ プロジェクトがあります。しかし、問題は、私がまだデバッグしている間にウィンドウがスリープ状態になることです。

これは、プログラムの実行中 (デバッグ中) にスリープ待機時間が超過したために発生することがわかっており、スリープ待機時間を長くするか、Windows コントロール パネルの電源設定で「スリープしない」設定にすることで、これを簡単に停止できます。

しかし、これにはプログラムまたは Visual Studio ベースのソリューションが必要です。プログラムの実行 (デバッグ) 中にコンピュータがスリープ状態にならないようにしたい。