SenchaTouchとphonegapで開発されたアプリがあります。ある時点で、サーバーからデータをダウンロードし、正常な応答を受信すると、次の画面を表示します。iOSアプリとしてバンドルすると、次の画面に移行しますが、何も表示されず、メモリ不足が報告されます。そこで、次の画面のレイアウトを簡略化し(DOM構造はかなり複雑でした)、iOSシミュレーターとiPhoneで機能するようになりました。
ただし、Androidでは、console.logステートメントの出力から、データが正常に取得され、イベントが発生して次の画面が表示されることがわかります。その後、console.logステートメントがその画面の「ペイントされた」イベントが発生したことを示していても、その画面が表示される前に何年もの間存在し続けます。
最終的に、画面は表示されますが、画面上のすべてのコントロールがタッチに反応しなくなります。その画面の構造をさらに単純化する必要があるのでしょうか?ページ構造を簡略化する前にiOSバージョンでメモリ不足の警告が表示されたため、Androidバージョンでも同様の問題が発生している可能性がありますが、メモリ使用量を監視する方法がわかりません。Androidバージョンでは、画面が最終的に表示される直前に、logcatに次のように表示されます。
UpdateFrameCache: pending style recalc, ignoring
また、応答しない画面で、応答しないコントロールの一部(すべてではない)をタップすると、次のように表示されます。
Got ACTION_DOWN but still waiting on stale event. Catching up.
最終的に、アプリは次のように閉じます。
Fatal signal 11 (SIGSEGV) at 0xbbbadbeef (code = 1)
ありがたいことにどんな助けも受けました。