2

setIntervalを使用して1秒間に何度も更新するJSアプリがあります。ほとんどの場合、何も実行しておらず、CPUにあまり負荷をかけません。JavaScriptタイマーは携帯電話のバッテリーを消耗させると言われていると聞きましたが、事実や証拠は見ていません。

iOSでJSアプリのバッテリーの消耗を測定する良い方法はありますか?または、誰かがsetIntervalを使用してCPUを集中的に使用しない関数を呼び出すと、バッテリーの消耗が早くなることを説明できますか?

4

2 に答える 2

2

setInterval は、実行するたびに CPU を起動します。1秒間に何回しゃべっていますか?10 を超える場合は、別の解決策を見つける必要があります。setInterval は、ジョブにとって不適切なツールです。

于 2012-08-03T03:43:51.703 に答える
1

あなたの質問に対する明確な答えはありませんが、覚えておくべきガイドラインがあります。

ページ/タブ/ウィンドウがアクティブでない場合、モバイル ブラウザは JavaScript コードを実行しない傾向があります。たとえば iOS では、setInterval のようなコードは、ディスプレイがオンのとき、Safari が開いているとき、およびコードを含むページがアクティブなときにのみ実行されます。Android と WinPhone デバイスでも同様だと思います。

しばらくの間オープンにすることを意図した Web アプリを開発する場合は、注意が必要です。これは、レストランのレビュー サイト、ゲーム、または地理位置情報 (gps) API を使用するものなどです。Web アプリが長期間使用されることを意図している場合、常にコード実行するとバッテリーに大きな影響を与える可能性があります。特定の数値を与える簡単な方法がないため、さまざまなデバイス間でテスト プロトコルをセットアップし、それぞれを確実にテストする必要があります。すべての Web アプリは異なります。

于 2012-08-03T03:44:25.490 に答える