2011-08-11 39 views
0

我想在另一個窗口加載應用程序窗口的子應用程序中使用的SWFLoader時,要求是,以取代用戶操作與另一個加載的應用程序。內存泄漏在Adobe AIR

我試過)在swfLoaderunloadAndStop(所記錄的方法,在主窗口的應用程序,但不知何故,在內存分析,我可以看到這些應用程序的情況下保持在記憶更加明確後運行垃圾收集。

在哪裏,如果我做這些窗口應用程序模塊,然後嘗試使用使ModuleLoader東西加載它們工作的順利開展和卸載模塊從內存中刪除。

任何一個之前面臨着同樣的問題?

+1

你怎麼可能會加載應用程序內的應用程序?重點是什麼?加載模塊代替... –

+0

什麼是您的SDK版本? SDK中可能存在內存泄漏,請檢查bugs.adobe.com。 –

+0

感謝您的回覆。 @J_A_X:我想創建一組獨立於Web的應用程序,並且在AIR的情況下明顯地打包在一起。我想重複使用整個代碼,以獲得更好的維護。 – Harshal

回答

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一個:)