「スクリーンキャプチャで落ちる!」を回避

先日のSony Ericsson P990i が危篤状態になってしまった原因を究明するために、スクリーンキャプチャアプリとその他のアプリケーションとの同時使用に関して色々と試した結果、危篤状態回避策が見つかりました。もしかしたら完全ではないかもしれませんが、一応エントリーしておきます。使用したスクリーンキャプチャアプリはオープンソースの「Open Screen Capture」とSony Ericsson 純正の「CaptureScreen」になります。画像は危篤状態回避策を施した後のP990i の状態です(情報表示にSwiss Manager 1.60 を使用)。空きメモリは6.2MB 、Open Screen Capture は48KB 、CaptureScreen は36KB 、Opera mini 4 beta 2 は2045KB となっています。Opera mini 4 beta 2 のメモリ使用量は思ったより大きいですね。空きメモリはOS やその他のアプリケーションも使用するので、画像がたくさん貼られたページを表示するとなるとかなり厳しい状態になって、最悪OS が止まってしまうのが理解出来ます。ちなみに危篤状態回避策を施す前の空きメモリは8.2MB でした。実はヒントはここにあります。この6.2-8.2MB の差はいったい何かと言えば『空きメモリの使用予約』をしているか否かです。空きメモリの使用予約(ワークエリアを確保)すると、Swiss Manager 1.60 では予約分が差し引かれた状態の空きメモリを表示します。ただし、どういうことなのかよくわかりませんが、タイミングによっては、同じアプリケーションを立ち上げた状態であっても5.2MB とか7.8MB とか8.4MB と表示されることもあります。これが“完全ではないかもしれない”という根拠です。ただ、危篤状態回避策後はちゃんとキャプチャ時に安定するようになっているので、恐らく正解なんだと思いますが…



では空きメモリの確保をしてみたいと思います。キャプチャ時に落ちる原因で怪しいと思った『メモリ使用量が大きいOpera mini 4 beta 2 用の空きメモリを確保するわけですが、Opera mini 4 beta 2 にはその設定がありません。しいて言えば画像のクオリティ設定くらいでしょうか。そこで気分を変えて標準のWeb を弄っていたら妙な項目を発見しました。Cash size です。Settings からConfiguration と辿っていくとAdvanced というタブが見えます。ここのCash size をLarge にしてみてください。初期値はSmall になっています。人によってOS が落ちる落ちないとなるのは、この項目を設定しているか否かの違いがあるようです。ちなみに一度Large にしてからSmall に戻しても、初期化しない限りは維持されているようです(ようは落ちない)。もしかしたらバグかもしれませんが、OS 自体も快適になるようなので良しとしてます。この設定を行うことで、Web をはじめ、Messege やFiles も軽くなったような気がします。

それにしてもOpera mini 4 beta 2 は起動だけで約2MB も占有するのに標準のWeb は158KB というのはどういうことなんだろう?メモリ使用量からしOpera mini 4 beta 2 では独自のメモリキャッシュを確保しているんだと思いますが、OS にもキャッシュを確保させようとするのがそもそもの問題なのかもしれませんね。もしかしたらP990i が特殊なのかな?