それまでは問題なく動いていたのに、ある時急に動きがおかしくなったアプリに出会ったことはありますか?
動きが激重になったり強制終了を繰り返すようになった、挙句の果てには起動すらしなくなったり……。
Androidはこれだから!!!
とかいう前にこの部分を確認してみてください。特にXperia。
モンストが急に起動できなくなった経験から調査を開始
なんかね、今朝ケータイ見たらね、モンストが初期化されてたんです。
いきなり「ニックネームを決めてください☆」とか表示されてね。
もう軽くパニックですね。通勤途中だったんだけど引き返そうかと思ったくらいw
データを削除しても、再起動しても、アプリを起動してバックアップデータと連携しようとすると上の通りエラーが表示されてしまいます。
なんで?どうして?まさか寝てる間に投げた(っぽい位置にあったw)のがマズかった!?
とか色々考えてたんですが、設定を見直してみると意外なところに原因がありました。
アプリのインストール場所に要注意!
設定→アプリより問題の起きているアプリを選んで「ストレージ」項目をタップ、保存場所を確認します。
もしここが「外部ストレージ(SDカード)」になっていたら「内部共有ストレージ」に変更します。
SDカードの劣化やアプリ自体の容量、I/Oの頻度や相性など、様々な要因はあるものの、基本的にSDカードは内部ストレージに比べて読み書き速度が劣っているものが多いため、SDカードにインストールしたアプリは起動や動作が極端に遅くなることがあります。
僕は容量の膨らみがちなe-book(電子書籍)系アプリ、「dブック」や「Amazon Kindle」などをSDカードに移動していますが、毎回起動して本を開くまで2~3分くらいかかります。開いちゃえば普通に読めるんだけどね。
またキャッシュが膨らむ「Pocket」やRSSリーダーなどもSDカードに移動することがありますが、こちらも共有操作が極端にもたつくようになります。
SDカードを買ったばかりの頃は普通の速度でしたが、ある日突然遅くなったような記憶があります。
さて話を戻して、問題はSDカードではなくXperiaの標準機能にあります。
そもそもSDカードにインストールした覚えがないアプリがいつのまにかSDカードに移動されていることがXperiaでは起こり得るんです。
ストレージ空き容量が減るとデータを自動的にSDカードに移動する「スマートクリーナー」を確認
※以下の画像はXperia X Performance SO-04Hのものです。
設定より「ストレージとメモリ」をタップします。
「スマートクリーナー」がONになっているか確認します。
スマートクリーナーとは、端末の内部共有ストレージの空き容量が不足してくると自動でデータやアプリをSDカードに退避させる機能です。
同時にメモリ(RAM)の空き容量管理もしてくれるようです。
誤解してほしくないのは、スマートクリーナー自体は優秀な機能でありXperiaの大きな魅力の1つです。
が、慢性的に空き容量が不足しがちな場合、知らぬ間によく使うアプリまでSDカードに移動されてしまうことがあるようです。
おそらくは「移動できるアプリかどうか」を最初に判断し、次に「容量の大きさ」で移動するアプリを選んでいるとは思います。
この時に紹介したSDカードに専用パーティションを作る作業をしていない場合は関係ない話かもしれません。
が、
【SO-04H】Android 7.0 Nougatが配信されたのでXperia X Performanceをアップデートしました
この時の4番で紹介した、Androidのマニフェストを無視してあらゆるアプリをSDカードに移動可能にしている場合、移動される可能性のあるアプリは増えるかもしれません。※未検証
今回モンストがうまく動かなくなったのも、保存先が外部ストレージになっていたからでした。(保存先を内部共有ストレージに戻したところすぐに復旧できました)
モンストのようにデータのバックアップ(ローカルではなくオンラインバックアップ)が可能なアプリであれば被害はほぼありませんが、これが完全にローカルで動くアプリの場合、どの程度戻せるかはわかりません。
これを回避するには、
- スマートクリーナーをOFFにする
- 端末の空き容量を増やし、圧迫しないよう頻繁に確認する
のどちらかしかありません。
そもそもXperiaは内部ストレージの容量が小さいのが悪い!!
と叫んでみたところで実際そうなのだからどうしようもなく。ホント、これでよく4Kカメラとか搭載するよね。
ともあれ、もし似たような症状を経験された場合はお試しあれ。
そんな感じ。