Olá pessoal,

acompanhei neste fim de semana um post do André Pena sobre leak de
memória na flexcoders. Bolei um exemplo aqui bem simples da "prova" do
leak... Gostaria que verificassem se estou fazendo algo "errado",
porque para mim está tudo correto, mas mesmo assim ocorre o leak...

O vídeo do problema está aqui: http://www.screencast.com/t/RN05DdtMdc0

Quem quiser ver, pode criar um mxml em um projeto com o seguinte
código:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
layout="vertical">

        <mx:VBox id="vBoxLeak" width="200" height="200"
backgroundColor="#eeeeee"/>

        <mx:HBox>
                <mx:Button id="btnAddChilds" label="Add Childs"
click="onAddChilds_Click(event)"/>
                <mx:Button id="btnRemChilds" label="Rem Childs"
click="onRemChilds_Click(event)"/>
        </mx:HBox>

        <mx:HBox>
                <mx:Button id="forceGC" label="Force GC"
click="onForceGB_Click(event)"/>
        </mx:HBox>

        <mx:HBox>
                <mx:Button id="btnCaptureMemory" label="Capture Memory"
click="onCaptureMemory_Click(event)"/>
        </mx:HBox>

        <mx:TextArea id="txtArea" width="200" height="200" textAlign="right"/
>

        <mx:Script>
                <![CDATA[
                        import mx.controls.Button;

                        private function 
onAddChilds_Click(event:MouseEvent):void
                        {
                                for (var i:int=0;i<1000;i++)
                                {
                                        vBoxLeak.addChild(new Button);
                                }
                        }

                        private function 
onRemChilds_Click(event:MouseEvent):void
                        {
                                vBoxLeak.removeAllChildren();
                        }

                        private function 
onCaptureMemory_Click(event:MouseEvent):void
                        {
                                txtArea.text += System.totalMemory + "\n";
                        }

                        private function onForceGB_Click(event:MouseEvent):void
                        {
                                // unsupported hack that seems to force a full 
GC
                                try
                                {
                                        var lc1:LocalConnection = new 
LocalConnection();
                                        var lc2:LocalConnection = new 
LocalConnection();

                                        lc1.connect('name');
                                        lc2.connect('name');
                                }
                                catch (e:Error)
                                {

                                }
                        }

                ]]>
        </mx:Script>

</mx:Application>




Além tem uma solução para isso ????

Abraços :)


--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a