スポンサードリンク

Android Chromeのjavascriptは裏側でも動き続ける

こんにちは、ころすけ(@wg_koro)です。

AndroidのChromeブラウザ

AndroidのChromeブラウザで変な挙動を発見しました。一応メモしておきます。

javascriptが止まらない

Chromeでページを見ている最中に、別のアプリに切り替えてもjavascript(js)が止まりません。

例えば下記のjsを仕込んだページ。

このページをChromeで表示して、ホームボタンを押してみましょう。あるいは、別アプリに切り替えてみましょう。

Chromeは裏側に回ったのに、’Oh my god!’ という文言を1秒おきに出力し続けます。これはsetIntervalだけでなく、setTimeoutでも確認できます。

試しにここにAjax通信を仕込んだら、裏側に回っても1秒おきに通信してました。

デフォルトのブラウザ

ちなみにデフォルトのAndroidブラウザだとこうなりません。

ブラウザが前面に出ている時は、jsは当然動きます。しかしホームボタンを押したり、別アプリに切り替えたりしてブラウザを裏側に移動させると動作が停止します。ブラウザを再度前面に表示させるとjsは再び動き出します。

バグ?仕様?

うーん、これってバグなんですかね?それとも仕様?

初期のAndroid Chrome(ベータ版)でも同じ挙動でした。裏側で動き続けるのは正しいような気もするし、でも標準ブラウザと比べると間違っている気もするし…。どっちだろう?

裏側にまわっても通信し続けるとなるとバッテリー食うだろうし・・・。やっぱりバグなんだろうか。

ちょっとIssue探して、なければ投稿してみようかな。

Facebookページ / スポンサードリンク
2012-09-20 | Posted in Android, Nexus, ProgramNo Comments » 
Comment





Comment



スパム対策のため、コメントする際は下記の計算式を埋めてください。 計算式の有効期限が切れました。計算式の隣にある再読み込みボタンを押してください。