AIRNovel更新:[wait_thread](スレッド待機)追加と不具合対応

●リリース Ansan_sdkAndroidChromeOSiPadiPhone全ソース
3.11
* chg:Antビルドファイル(build.p.xml、build.xml)でmxmlc.jarとadt.jarを使用するように。
* chg:iOS・iPhoneサイズ桜を最新AIR 3.1で動くように。
* bug:[for_call]マクロで100回近くループするとスタックオーバーフローが発生する不具合対応。(次の項に続く)
* add:タグ[wait_thread]を追加。スレッド待機する。[for_call]マクロ内で多重ループ時、又は[call]、マクロ多重呼び出し時にスタックオーバーフローを防ぐ用途。
* upd:スワイプをやや検知しやすくTapState.as(67行目)の数値を1024に変更。

 [for_call]マクロでスタックオーバーフロー(Error #1023: Stack overflow)が発生する不具合(100回ぐらいループしないと出ない)あったのが気になってたのですが、ようやく原因特定できて対応しました。(sub.anも少し変更)

 その他は手直し程度の変更です。

 そういえばiOS版で ant ipi ビルドならswfフォントが有効になるが、ant ip ビルドだと有効にならないようです。
 多分もう少し頑張れば ant ip ビルドでフォント組み込みが出来るはず。

(余談:スタックオーバーフローの件)
 ループ中にメモリ関係のAIR/Flashシステム変数を見ると、以下のように変化しました。

(項目)ループ変数、(flash.system.System.)privateMemory、freeMemory、totalMemory、totalMemoryNumber
 privateMemory……アプリケーションで使用されるメモリ量の合計(バイト単位)


[I] 0 18128896 126976:12087296 12087296
[I] 1 18173952 81920:12132352 12132352
[I] 2 18186240 69632:12144640 12144640
[I] 3 18186240 69632:12144640 12144640
[I] 4 18210816 45056:12169216 12169216
  :
[I] 80 19144704 114688:12627968 12627968
[I] 81 19152896 114688:12627968 12627968
[I] 82 19173376 102400:12640256 12640256
[I] 83 19197952 86016:12656640 12656640
[I] 84 19206144 86016:12656640 12656640
 0~99ループが84でエラー停止。明らかにprivateMemoryが増え続けている。

[I] 0 18739200 24576:12054528 12054528
[I] 1 18391040 122880:12087296 12087296
[I] 2 18391040 122880:12087296 12087296
[I] 3 18391040 122880:12087296 12087296
[I] 4 18395136 114688:12095488 12095488
  :
[I] 95 18661376 110592:12361728 12361728
[I] 96 18661376 110592:12361728 12361728
[I] 97 18669568 102400:12369920 12369920
[I] 98 18673664 98304:12374016 12374016
[I] 99 18677760 94208:12378112 12378112
 対応後、0~99ループが完了。波はあるがprivateMemoryに致命的な増加はない。


 対応として、ループ部分で最初に戻る[jump]の直前に以下を追加した。
[wait_thread cond="&for_call_idx[mp:name] % 10 == 9"]
 毎回ウェイトを入れても良いが、処理が遅くなるのでこのように。
スポンサーサイト
プロフィール

ふぁみべぇ

Author:ふぁみべぇ
 →メアド(四角を@に)

カテゴリ
リンク
検索フォーム
最新記事
月別アーカイブ