[ 
https://issues.apache.org/jira/browse/FLEX-34194?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alex Harui reassigned FLEX-34194:
---------------------------------

    Assignee: Alex Harui

Sorry for the delay.  Taking a look now.

> In Apache Flex 4.10 and 4.12 why does setting a dataProvider on a spark 
> datagrid prevent the module it resides in from unloading from it's AIR 
> application shell.
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: FLEX-34194
>                 URL: https://issues.apache.org/jira/browse/FLEX-34194
>             Project: Apache Flex
>          Issue Type: Bug
>          Components: Spark: DataGrid
>    Affects Versions: Apache Flex 4.10.0, Apache Flex 4.12.0
>         Environment: Windows 7, IntelliJ12, Flex 4.12 SDK, Adobe AIR 3.8
>            Reporter: Lyndon Fasanya
>            Assignee: Alex Harui
>            Priority: Blocker
>         Attachments: ModuleUnloading.zip, experimental.zip
>
>
> I have patched a module unloading shell app from the internet converting it 
> to an AIR (3.8) application shell, to replicate the issue that I'm finding in 
> our Enterprise Asset Management appplication, which needs this fix!
> I am using Adobe Scout to profile the application.
> In my shell application I load a module using module loader into a child 
> Application Domain.
> The shell derived from Tom Sugden's module unloading application loads the 
> module and like I have found online the first instance is pinned in memory. I 
> thought possibly adding ArrayCollection and ArrayList in the shell app. would 
> allow it to be removed but it doesn't I understand that this could be due to 
> somehow this 'setting of the dataProvider' causing the module to be 
> registered with the main app. I have looked in Scout and found the frame 
> where the dataProvider is set and still I cannot identify from the AS objects 
> or the function calls what could be doing it. Possibly it's a case of not 
> knowing what to look for.
> Some other things of note:
> If I use an mx:DataGrid with same dataProvider the module unloads first time.
> If I use a s:DataGrid with no dataProvider set the module unloads first time.
> Even if I set a dataProvider on an s:DataGrid by pressing a button on the UI 
> which caused the dataGrid to appear and then unset the dataprovider by 
> setting the grids dataprovider to null the module does not unload.
> I have a project created that one can use to debug this attached.
> I would really like a solution for this and to be able to understand why this 
> is happening in detail.
> I have keep-all-type-selectors set to true in the main app even if I remove 
> all custom styles the problem remains.
> I upgraded from 4.10 to 4.12. This did not fix the problem.
> I even generated a link-report from the main app and used load-externs in the 
> module to optimise any shared code defintions without success.
> I think this bug is critical and understandably I do not want to use an 
> mx:DataGrid.
> Given : 
> I have the Adobe Scout profiler running and,
> I load a module containing a populated spark dataGrid with test objects such 
> as 
> new ArrayList([{'a':'a1','b':'b1'},{'a':'a2','b':'b2'},{'a':'a3','b':'b3'}]);
> And then I unload the module.
> Expected:
> Clicking Garbage Collection from scout or even from within the app, will 
> remove the module from memory.
> Actual:
> Some garbage collection occurs as present in Scout, but the swf file 
> representing the module is not garbage collected and still viewable in Scout.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to