Flex を使用してモバイル アプリを開発していますが、BlazeDS を使用していくつかの問題に遭遇しました。一部のユーザーは、サーバーから (比較的) かなり大量のデータを要求し、約 2 秒で返されます。データは、いくつかの非常に単純なオブジェクトで構成されています (名前/電話/電子メールを持つクライアントと、その他のいくつかのプロパティ。そのうちのいくつかは、より多くのプロパティを持つ他のネストされたオブジェクトです)。最大のリクエストは、これらのオブジェクトの約 10,000 個以下で構成され、サイズはわずか数 MB です。私が直面している問題は、サーバーが応答を送信するとすぐに、データの処理中にモバイル画面がロックされることです。10,000 個のオブジェクトの場合、これには数分かかる場合があり、場合によってはデバイスがクラッシュすることさえあります。平均的なユーザーの場合、少なくとも 2 ~ 5 秒間は画面がフリーズします。これは、機能が制限されたデバイスだけの問題ではありません。これは、私の PC (i5 プロセッサ、8GB RAM) でも発生します。私が知る限り、このダウンタイムは、デバイスが応答を受信してからデータにアクセスできるようになるまでのどこかで発生しています。次の RemoteObject 結果ハンドラーの最初の行にブレークポイントを設定すると、ブレークポイントに到達する前に画面がロックされます。
protected function myResultHandler(event:ResultEvent):void
{
var result:ArrayCollection = event.result as ArrayCollection;
//Do other stuff here
}
私は BlazeDS と AMF についてほとんど知らないので、唯一の推測では、デバイス上でオブジェクトが作成されている間にフリーズが発生するということです。このプロセスをスピードアップする方法はありますか? 通常、このような非常に低いパフォーマンスが見られると予想する必要がありますか? どんな助けでも大歓迎です。