2

Flex 3.5 Air アプリケーションがあります。メイン ウィンドウには、ヘッダーの他に TabNavigator があります。タブに、Google マップ オブジェクトを配置しました。「ロード」が非常に遅く、アプリケーション全体がフリーズすることを除いて、正常に動作します(応答しない問題)。

今、私はそれを修正したいと思いますが、これらのソリューションの 1 つを実装する方法は今はあまり知りません: 1) アプリケーション全体が読み込まれる前に API を読み込みます。2) タブがクリックされたときに、何らかの方法で API を非同期にロードします。アプリがフリーズしないだけで十分です。

タブ キャンバスが空であり、他のコードが存在しないため [再確認した]、GoogleMaps のせいであると「110%」確信していることに注意してください。また、マップはロードするだけで、setCenter メソッドを呼び出すので、マップをフリーズさせる可能性のある他の操作がないことに注意してください。

編集: Api オブジェクトの作成が遅いのではなく、GUI での実際の表示が遅いと判断できました。これがコード行です。ResellersMapClass は、追加機能を追加するつもりなので、Google Maps API クラスのみを拡張します。でも今はきれいです。

this.map = new ResellersMapClass();
//between here
this.mapContainer.addChild( this.map  );
//and here

これをプリロードする方法はありますか?または、GUI がフリーズするのを防ぐその他のソリューション。

ありがとう、ガブリエル

4

1 に答える 1

0

Yahoo! で同じ問題が発生しました。マップ API。私はそれをモジュールにドロップして、ロード用の ProgressBar を与えました。これは、少なくとも非同期の問題に役立つはずです。問題がライブラリ内の重いアルゴリズムである場合、フラッシュが真のマルチスレッドをロールアウトするまで、それを回避する方法はありません (指を交差させます)。

于 2011-03-30T19:09:26.600 に答える