編集待ち時間のカスタマイズ

投稿 2011年06月14日 23時48分21秒 | ほたるメモの裏技 | hotall

androidの機器では、操作中に動作が止まることがあります。
これはガベージコレクションと呼ばれるAndroid VMの特性です。
手書き入力中に処理が停止してしまうと入力ミスにつながり、ストレスになってしまいます。

ほたるメモのver1.3.2の追加機能として、起動後、即、新しいメモを編集するショートカットを用意しました。
この開発で頭を悩ませたのが、起動後しばらくするとガベージコレクションが動き始め、手書き入力や自動スクロールのパフォーマンスが低下してしまうことでした。

ガベージコレクションを強制的に実行したり抑制することできません。また、いつ行われるかすら知ることができません。
したがって、編集モードで起動後、ガベージコレクションが終るまで待つようにしました。アイコンがくるくる回る準備中のダイアログの処理です。

実装に当たり、ガベージコレクションはいつ行われるかわかりませんし、また、その現象が顕著に現れないことがあるため、最大待ち時間を設けて必要以上に待たされる事を防いでいます。

この値は、現在私が保有している機器で調べて設定していますが、機器の性能やOSのバージョンによっては、この時間を調整した方が良いかもしれません。あるいは、ガベージコレクションを待つより、すぐに入力を開始したいと思われるかもしれません。
そんな時、下記の方法で値を変更してみてください。

変更方法は「ペン色のカスタマイズ」と同様にSDカード上の設定ファイルを変更します。
設定ファイルに次のentryタグを追加します。

<entry key="GC_WAIT_COUNT">20</entry>
<entry key="GC_WAIT_COUNT_9">10</entry>

GC_WAIT_COUNTはAndroidのバージョンが2.2以下の場合の設定値で、GC_WAIT_COUNT_9は2.3以上の場合の設定値です。
設定値は0からの整数値で大きな値ほど待ち時間が長くなります。デフォルトはバージョン2.2以下が20で2.3以上が10です。

android2.3でコンカレントガベージコレクションが導入され、マルチコアの機器が出始めていますので、このような待ち時間が必要なくなるかもしれません。