2012年07月24日

spモードメール通知 5800.00

 spモードメール通知 5800.00 をリリースしました。

 GALAXY NEXUS SC-04D を 4.1にアップデートしたら動かなくなった旨、報告がありましたので、その修正です。ついでに、L-01Dでも動くようになったかもしれません。

 以下、修正の技術的な話を書きます。

 SC-04DにてSQLiteのDBファイルを見ると、L-01Dと違い -journal というサフィックスが付いたファイルが生成されます。L-01Dは前に書いた通り、-walと-shmが生成されます。これらがある場合は、このファイルにもパーミッションを与える必要があります。パーミッションが無いと、DBのオープン時に例外が発生してしまいます。

 前回は単にパーミッションを与える操作だけして、失敗しました。その後のDB内容変更を読み取れませんでした。

 今までは動作中はDBを開きっぱなしにする仕様でした。これは処理の軽量化のため、ひいては省消費電力のためでした。(WEBアプリをやっていると、DBのオープンクローズのオーバーヘッドが非常に気になってしまうのです。)

 開きっぱなしが問題なのではと思い、今回からは開いて読んだらすぐ閉じるようにしました。

 ポーリングでの監視はファイルのタイムスタンプを見ており、タイムスタンプが変わった時だけDBの中身を見に行きます。このためアイドル時(メールが来ないとき)の処理時間(すなわちバッテリ消費量)は変わらないです。

 今回の改修で、多くの最新機種に対応できたのではないかと考えております。

posted by tech4u at 00:32| Comment(13) | spモードメール通知 | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。