キャッシュプラグインの影響でコメントができなくなっていた問題を修正しました。

Androidの「アクティビティを保持しない」を有効にした場合の副作用

この記事を読むのに必要な時間は推定で最大約1分48秒で、速読ですとその半分ぐらいです。

Androidの「開発者向けオプション」にある「アクティビティを保持しない」という設定項目。これは「ユーザーが使用していないアクティビティを直ちに破棄する」と説明されています。初期状態ではチェックされていません。

これにチェックをつけた場合には、アプリがアクティブじゃなくなるとメモリを解放するので、アプリの実行中の項目に表示されるキャッシュされたプロセスの数が減ります。つまり、多少メモリの消費を抑える効果があるのですが、副作用で動作不良が出てくることもあるので注意が必要です。遠出した時に負荷を少しでも減らそうとチェックをつけておいて、帰宅後に戻し忘れたことで今回は副作用に当たってしまいました。

「アクティビティを保持しない」にチェックをつけていると、ファイルマネージャ系のアプリを使ってネットワーク上にあるPCなどに保存されている動画ファイルや音楽ファイルを再生しようとした場合に、エラーが発生して再生できなくなるという不具合が発生するのです。対象ファイルを端末側のストレージにコピーしてから再生した場合には何も問題は起こりません。同一のデータでもネットワーク上にあるとNGってことです。

ネットワーク上にあるファイルが、再生するアプリを変えてもエラーとなったら、「アクティビティを保持しない」の設定を疑ったほうがよいかもしれません。自分はすぐにこの設定が有効になっていたまま戻し忘れていたことに気付き、チェックを解除して問題が解決しました。

なお、この現象はXperia標準のムービーアプリ、それと「ファイルマネージャ」の組み合わせで発生することを確認したものであり、別の組み合わせだと起こらないかもしれません。

コメント