Chromeのタブが自動で更新されるのを停止させる方法:勝手なリロードとメモリ解放をやめさせる:消えたAutomatic tab discardingの代替手段
【結論】
拡張機能「Disable automatic tab discarding」をインストールする。
くわしい解説は以下に。
原因
厳密には勝手にリロードされることが問題なのではなく、それ以前に該当タブのメモリが自動的に解放され、Webページのデータがすでにないことが問題。
ページが更新されるのは、その結果でしかないということ(次にタブをアクティブにしたときに更新される)。
Chromeの仕様変更による
ここ数年、Chromeはメモリ管理の仕様をたびたび変更しており、基本的には端末のメモリが足らなくなりそうだと自動的にタブのメモリを解放する方向へ開発を進めている。
どうやら、Chrome本体をできるだけ安定的に動かすための措置らしい。
以前は、chrome://flags/でアクセスできるChromeの隠し要素(試験運用版)の「Experiments」にある「Automatic tab discarding」の項目をDisableに設定すれば、タブの自動解放をオフにできたのだが、現在のバージョンではこのフラグ自体が削除されてしまっているので、Chromeの初期状態のままではどうしようもないのが現状だ。
(Chrome 75で削除された)
問題点
メモリ解放のタイミング
基本的に、Chrome側がマシンの状態からタブのメモリを解放するかどうか自動で決め、しかも通知は一切ないので、ユーザー側はそれを制御するどころか事前に知ることすらできない。
また、メモリにまだ余裕があるのにメモリの解放が行われることもあり、正直どういう基準になっているのかよくわからない。
ページの状態がクリアされる
タブのメモリがリリースされると、当然ながらページ上のデータは消えてなくなる。
ということは、一時停止中の動画や記入途中のフォーム内容も、一方的にリセットされてしまうということだ。
それを防ぐために、Chrome側がフォームの記入途中だと判断した場合はさすがにメモリの解放は行わないようだが、それがうまくいかないと重要な項目の送信前であっても、問答無用でクリアされてしまう。
動画にいたっては、救済措置は一切ないようだ。
ストレス
ユーザーの意図しないタイミングで行われるタブのリロードは、それ自体がストレスになるだけでなく、見たいものがすぐに見られない問題も出てくる。
タブを開きっぱなしにしているのは必要なときにいち早く表示できるようにするためなのに、それができないというのは実質的に作業上の問題にもなるだろう。
メモリの使用量が少ないはずのページでさえメモリ解放の対象になるのも疑問で、どうも釈然としない。
対策
上述のように、Chrome本体の設定ではどうすることもできないので、拡張機能「Disable automatic tab discarding」をインストールする。
これだけで、タブのメモリが自動解放されるのを止めることができる。
注意点
まれに、これを導入してもタブのメモリ解放と自動リロードが起きてしまうことがあるようだ。
だが、ずっと使いつづけている筆者の環境では、まだ一度もそういったことは起きていない。
2024年追記
現行の最新版Chromeでは公式の設定でメモリの解放をするか否か選択できるようになったが、それでもまだ勝手にタブがリロードされてしまうケースが散見されるので、念のため上記の拡張機能を入れたままにしたほうがいいだろう。
ただ、それでも解放されてしまうことがままあるが……