待ち受け状態のiPhoneが熱くなったときの対処例

先ほど、待ち受け状態で、何もアプリを動かしていないiPhoneが突然熱を持っていたので、SysStats Liteを使って状況を確認してみました。
【5/24 追記】 一点、大事なことを書き忘れていました。このときには、iPhoneの再起動だけでは、問題は解決されず、再起動後に、ここで説明した処置をしたことによって、解決されました。


なぜか、CPU使用率が100%に張り付いたままになっていました。具体的に、どのプロセスがCPUを多く使っているかを調べたいところですが、残念ながら、SysStats Liteでは、そこまで見ることはできません。
iPhoneMacに接続して、iPhone SDKに付属のInstruments*1というツールを使うことで、プロセスごとのCPU使用率を見ることができます。

赤枠で囲んだ部分が、CPU使用率が最も高いプロセスですが、実際には、標準のメールアプリケーションでした。とりあえず、そのプロセスを終了させてみることが、まずは得策だと考え、メールアプリケーション起動したところ、CPU使用率が急激に下がり、平常な状態に戻りました。本当は、このあとにホームボタン長押しで終了させようと思っていたのですが、それは必要ありませんでした。起動するという割り込みが入ったことで、CPUを多く使っていた(暴走していた??)処理が終了してくれたのかもしれませんね。

結局、「メールアプリケーションが暴走していたようだ」という見た目の事象以上のことはわかりませんが、とりあえず解決したので、この場はよしとすることにしました。
もしも、似たような状況に遭遇した時は、この方法で解決する可能性もあるので、よろしければお試しください。

あと、やはり、iPhone SDKがないとプロセスの状況を見れないのだとすると、ちょっと不便ですね。
もしも、各プロセスの状態を取得することができるのであれば、SysStats Liteにその機能を組み込みたいのですが、今はその方法がわからないため、実現できていません。(取得できないように制限がかけられている可能性もありますが、真偽は不明です)
いずれにせよ、何らかの形で、そのあたりの情報を見ることができるようになればいいなと思っています。

*1:詳細は、Instruments User Guide: About Instrumentsを参照してください。