setIntervalを使用して1秒間に何度も更新するJSアプリがあります。ほとんどの場合、何も実行しておらず、CPUにあまり負荷をかけません。JavaScriptタイマーは携帯電話のバッテリーを消耗させると言われていると聞きましたが、事実や証拠は見ていません。
iOSでJSアプリのバッテリーの消耗を測定する良い方法はありますか?または、誰かがsetIntervalを使用してCPUを集中的に使用しない関数を呼び出すと、バッテリーの消耗が早くなることを説明できますか?
setIntervalを使用して1秒間に何度も更新するJSアプリがあります。ほとんどの場合、何も実行しておらず、CPUにあまり負荷をかけません。JavaScriptタイマーは携帯電話のバッテリーを消耗させると言われていると聞きましたが、事実や証拠は見ていません。
iOSでJSアプリのバッテリーの消耗を測定する良い方法はありますか?または、誰かがsetIntervalを使用してCPUを集中的に使用しない関数を呼び出すと、バッテリーの消耗が早くなることを説明できますか?
setInterval は、実行するたびに CPU を起動します。1秒間に何回しゃべっていますか?10 を超える場合は、別の解決策を見つける必要があります。setInterval は、ジョブにとって不適切なツールです。
あなたの質問に対する明確な答えはありませんが、覚えておくべきガイドラインがあります。
ページ/タブ/ウィンドウがアクティブでない場合、モバイル ブラウザは JavaScript コードを実行しない傾向があります。たとえば iOS では、setInterval のようなコードは、ディスプレイがオンのとき、Safari が開いているとき、およびコードを含むページがアクティブなときにのみ実行されます。Android と WinPhone デバイスでも同様だと思います。
しばらくの間オープンにすることを意図した Web アプリを開発する場合は、注意が必要です。これは、レストランのレビュー サイト、ゲーム、または地理位置情報 (gps) API を使用するものなどです。Web アプリが長期間使用されることを意図している場合、常にコードを実行するとバッテリーに大きな影響を与える可能性があります。特定の数値を与える簡単な方法がないため、さまざまなデバイス間でテスト プロトコルをセットアップし、それぞれを確実にテストする必要があります。すべての Web アプリは異なります。