0

ウィンドウ化されたサブアプリケーションを別のウィンドウ化されたアプリケーションにロードしようとしています。要件は、ロードされたアプリケーションをユーザーの操作で別のアプリケーションに置き換えることです。

unloadAndStopメイン ウィンドウ アプリケーションで()の文書化されたメソッドを試してみましたswfLoaderが、どういうわけか、メモリ プロファイリング中に、ガベージ コレクションを明示的に実行した後でも、これらのアプリケーションのインスタンスがメモリ内に保持されていることがわかりました。

これらのウィンドウ化されたアプリケーションをモジュールとして作成し、Moduleloader を使用してそれらをロードしようとすると、スムーズに動作し、アンロードされたモジュールがメモリから削除されます。

以前に同じ問題に直面した人はいますか?

4

2 に答える 2

0

まず、アプリケーション内にアプリケーションをロードする必要があります。あらゆる種類のクレイジーなことが起こる可能性があります。私は過去にあなたの状況に遭遇しました。私が行ったことは、アプリケーションまたはモジュール タスクの実際の UI/製品を分離することです。例えば:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx">
   <local:YourMainUI width="100%" height="100%" />
</s:Application>

また

<?xml version="1.0" encoding="utf-8"?>
<s:Module xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx">
   <local:YourMainUI width="100%" height="100%" />
</s:Module>

これでどこに行くかわかりますか?これで、製品の再利用可能な「メイン」コンポーネントができました。これは、どのコンテキストでも使用できますWindowedApplication:)

于 2011-08-12T00:01:58.893 に答える
0

これは Flex SDK のバグです。

于 2011-08-12T14:30:22.170 に答える