前回のエントリーでは追加でアプリを入れていない状態では、順調に動いていたが、二つのアプリ(Huluと2chmate)を入れた状態ではスリープ時に電源が落ちてしまう現象が発生したと書きました。

『Xperia Tablet S』のスリープ中に電源が落ちる不具合検証の途中経過について

その後、その二つをアンインストールして元の状態で検証をやり直したのですが、

やっぱり電源落ちるやん・・・。

素の状態に戻したあとで、2chmateとHuluの両方ともメモリをかなり使用するタイプのアプリなので、前々から疑っていたRAMの圧迫がトリガーになっているんじゃないかと思い、そういえば素の状態では殆どまともに利用していなかったので、無理やりにでも使い込んでみました。

いろいろと検証をしてみて気付いたのですが、RAMの空きが400MB以下になった状態でスリープに突入すると高確率で電源が落ちるようです。RAMの空き容量以外にもCPUの稼動状況についても確認してみたところ、当然といえば当然ですが、スリープから復帰する際にCPUはかなり活発に稼動します。おそらくこの二つの合わせ技により電源落ちが発生しているのではないかと睨んでいます。つまり、処理にパワーが必要なタスクを保ったままスリープに陥った場合、起動時の負担が通常よりもかなり高くなってしまい、処理落ちが発生してしまうのではないかということです。メモリーリークに近い挙動ということですね。RAMの空き状況は設定のアプリの「実行中」から確認が出来、CPUの稼働状況は開発者向けオプションから「CPU使用状況を表示」という項目にチェックを入れると画面右上に項目とグラフが表示されます。

↓RAMの空き状況の確認画面

Screenshot_2012-11-14-20-43-07

↓CPU使用状況

Screenshot_2012-11-14-20-40-43
ただ、少し気になったのが、昨日はこの条件で試してみて、相当な確率(5回中4回ほど)で再現できたのですが、本日改めて試してみると再現がされません。というよりRAMが圧迫されるということ自体が発生しにくくなっています。前日にこれでもかと再起動したので、溜まっていたメモリーが綺麗さっぱり開放されて、初期化後に近い状態になっているのかもしれません(まあもとより初期化からあまり時間もたっていませんが)。

アプリに問題があるというのは半分正しくて、半分正しくないという気がします。メモリーがかさばるアプリを長時間使ったり、もしくはメモリーの管理を考慮せずに開発したアプリなどを利用していると自然にメモリーリークを起こして電源が落ちてしまうことが考えられます。動画閲覧中に電源が落ちるという報告も多数出ているようですが、それにもつじつまが合います。

しかし、せっかくのタブレットを使い倒したいというのは当たり前のことで、ライトユースのために5万以上を支払うのはナンセンスだといえます。やっぱりそれなりにヘビーな用途に耐えうるものを作るのが商品を提供する側の義務ではないでしょうか?それにRAMが300MB以上もある状態ならそんなに圧迫しているとも言いがたいような気もします。

まだもう少し様子を見てようと思いますが、いずれにせよ、ソフト面での事象であることは間違いなさそうですので、アップデートなり何かしらの対応を切望します。