« HP200LX Cドライブのファイルが壊れた | トップページ | たばこ祭り1日め »

2015年9月25日 (金)

[Python S60 2.0.0] e32.ao_yield() の連続でダウンする

2015-09-25(金)雨/曇り、寒い

 また、Python for S60 V2.0.0の話題が続きます。先日のPyBookViewerのテストの時、合わせて改造をしていて、またPythonがダウンする現象を見つけました。
Nokia 5800XM と Python for S60 V2.0.0 での組み合わせでのテストです。

 画面の指定を変えたときに、直ぐに画面表示に反映させるために「e32.ao_yield()」という命令を使うことがあります。しかし、何回も比較的続いて実行されるルーチンで実行すると、あとの実行の時にPython自身が、黙ってダウンしてしまいます。
 黙って、ダウンしてしまうケースは過去にもあり、色々と対策を入れました。
過去の記事 「Python スクリプト 雑記」 「25.Python S60 2.0.0

 今回は「e32.ao_yield()」の2回目でのダウンですが、V1.4.5では同じ処理でも問題ありません。
対策としては、V2.0.0でも問題なく使うには「e32.ao_sleep(0.001)」 を使うと良いようです。「e32.ao_sleep(0.001)」は1ミリ秒間のスリープの指示ですが、スリープから復帰の時に画面が更新されるようです。一応、これを対策としました。「e32.ao_yield()」も「e32.ao_sleep(0.001)」も、本来の意味での使い方が合っているのかどうか不明ですが、そこまで調べる元気はなくなりました。現物対応という、小手先対応になりました。

|

« HP200LX Cドライブのファイルが壊れた | トップページ | たばこ祭り1日め »

Python」カテゴリの記事

アプリケーション」カテゴリの記事

携帯電話」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/513620/62336682

この記事へのトラックバック一覧です: [Python S60 2.0.0] e32.ao_yield() の連続でダウンする:

« HP200LX Cドライブのファイルが壊れた | トップページ | たばこ祭り1日め »