Flex Builder 3 - Memory Profile Confusion!

Hello,
I'm currently working on memory leaks in a fairly large application. When I finally tracked down the issue it had to do with using BindUtils's bindProperty method. If I assigned my properties directly and manually updated them, all of the instances were relased when the garbage collector was invoked (all of this through the memory profiler in Flex Builder Pro 3).
I then build out a small little test app that simply created an ArrayCollection then using BindingUtils, bound it to the dataProvider of 20 data grids. I stored the change watches then manually called "unwatch" and finally nulled out the changeWatchers (and even went so far to manually remove the grids and null them out).
What I noticed was when I used bindingutils, the ListCollectionView objects were not released when I used BindingUtils but when I used direct assignment and removed the grids, all the ListCollectionView instances were dumped correctly.
At this point I'm not sure if I'm misinterpeting the results in the memory profiler or not. If I "unwatch" a change watcher and destroy it, should that kill and references to the target object? Any help or advice would be appreciated.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
                layout="absolute"
                initialize="initData()">
    <mx:Script>
        <![CDATA[
            import mx.binding.utils.ChangeWatcher;
            import mx.controls.DataGrid;
            import mx.binding.utils.BindingUtils;
            import mx.controls.Label;
            import mx.collections.ArrayCollection;
            [Bindable]
            public var dataProvider:ArrayCollection;
            private var changeWatchers:Array;
            private function initData():void
                var object1:Object = new Object();
                object1["first"] = "John";
                object1["middle"] = "Alexander";
                object1["last"] = "Smith";
                dataProvider = new ArrayCollection();
                dataProvider.addItem(object1);
            private function createObjects():void
                changeWatchers = new Array();
                for (var i:int = 0; i < 20; i++)
                    var newGrid:DataGrid = new DataGrid();
                    changeWatchers.push(BindingUtils.bindProperty(newGrid, "dataProvider", this, "dataProvider"));
                    //newGrid.dataProvider = dataProvider;
                    targetItems.addChild(newGrid);
            private function deleteMemory():void
                for each (var cw:ChangeWatcher in changeWatchers)
                    cw.unwatch();
                    cw = null;
                var children:Array = targetItems.getChildren();
                for each (var child:DisplayObject in children)
                    targetItems.removeChild(child);
                    child = null;
        ]]>
    </mx:Script>
    <mx:HBox y="0">
        <mx:Button label="Create Grids"
                   click="createObjects()"/>
        <mx:Button label="Delete Grids"
                   click="deleteMemory()"/>
    </mx:HBox>
    <mx:VBox id="targetItems"
             y="50">
    </mx:VBox>
</mx:Application>

I answered my own question.
In the code I was calling "unwatch" and setting the array element to null and I assumed that would cause the instances of ListCollectionView to decrease once the garbage collector was invoked. It wasn't till now that I was playing around with the code and set the array itself to null that it decreased the instances back to 0.
At least I know where some of my memory issues could be coming from in the main application as I use arrays quite a bit!

Similar Messages

  • Memory Leak in Flex Builder

    I created Services.mxml in the tutorial, set it as the
    default application file, and dragged the first component onto the
    design view screen, a label, when Flex Builder seems to get
    sluggish. Jumping out to the task manager revealed javaw.exe
    rapidly accumulating memory usage, heading for 300,000 K. I killed
    FB before it hung the machine and restarted it.
    I was able to replicate it by being in a hurry. I created
    another Services2.mxml as an application, and while it was Building
    the workspace i tried to drag a Label onto the stage. Twice. The
    cursor didn't change, but they eventually they appeared. Checking
    the task manager revealed that i had put javaw.exe again in a
    tailspin, rapidly accumulating memory usage.

    I'm also experiencing huge memory leaks from beta 3...after a
    couple of builds memory allocation for javaw is around
    300MB...hopefully this will get fixed. thanks,
    -george

  • Flash builder 4 installation somehow broke my flex builder 3 debuggin/running/profiling launch.

    After installing flash builder 4 neither it nor flex builder 3 has been able to launch swf:s from flex. After hitting run or debug flex gives a prompt saying "Flash Player not Found. Flex builder cannot locate the required version of Flash Player. You might need to install Flash Player 9 or reinstall Flex Builder. Do you want to try to run your application with the current version?". The popup itself happened before installing flash builder 4. But normally I would just hit yes and it would use whatever flashplayer is default.
    Now if I click yes it launches command prompt with a path to flex builder 3 installation folder. When running from flash builder 4, same happens except the path is the installation folder for flash builder 4. Flex then starts waiting for connection from debugger and after a while it prompts a timeout message. The command prompts title is ...\workspace\project\bin-debug\filename.swf.
    When opening the swf files directly from windows they open fine.
    I used the uninstaller software for flash player and then fetched both fp9&10 and reinstalled them. Which didn't help. When launching to browser everything works just fine, the problem occurs only when launching to standalone player. I tried to check registry settings if there would be something wrong, but all the paths for flashplayers seem to be ok.
    Is there any other hope to fix this than reinstalling flex builder 3 & flash builder 4 from scratch?

    You need content debugger FP installed
    http://www.adobe.com/support/flashplayer/downloads.html download it from there and install and you should see the problem go away
    Download the Windows Flash Player 10 ActiveX control content debugger (for IE) (EXE, 2.03 MB)

  • Upgrading Flex Builder 3 Standard to Flash Builder 4 Premium

    Hi there,
    Purchased Flex Builder 3 Standard back in January. Came to enjoy (and depend on) the memory profiling functions in the beta 2.
    Anyhow, Flash Builder 4 has been released, and I see there is no memory profiler in the Standard edition. I see some conflicting information out there regarding upgrades -- some (third party) websites say it's possible to upgrade Flex Builder 3 Standard to Flash Builder 4 Premium. Adobe's website says it's only possible to upgrade Standard -> Standard, and Premium -> Premium.
    The costs to upgrade to Premium from Standard would be prohibitive; I'd have to purchase two separate upgrades and the price would go over $US1000. Am I able to upgrade to Premium using my Flex Builder 3 Standard purchase?
    Thanks.

    Hi,
    I don't think that "downgrades" from FB3 Pro to FB4 Standard are officially supported. You might be able to negotiate with a Sales Rep to make an exception for you though, for a discounted price on a non-upgrade version of FB4 Standard.
    Alternatively, if you have any interest in CS5 Web Premium (or have any Adobe products qualifying for a CS5 upgrade), FB4 Standard is included with that Suite now.
    -Chris

  • Ever increaing RAM usage of flashPlayer not shown in memory profiler of FlashBuilder

    I have a flash application created with Flex in FlashBuilder which uses the Stage3D-API (Away3D-Library is used).
    In this flash application 3D-objects are created and added to scene and they are also removed/disposed again, and then they are created/added again.
    Performing these scene altering operations the RAM usage of the flashPlayer process (monitored in Windows7-Taskmanager) steadily increases by big amounts (lets say 20MB).
    On the other hand the Memory-profiler does not show any such increases at all. Regarding to memory profiler the application still uses bascially the same amount of memory (the line stays flat).
    There are some objects marked as loitering, but  they donet seem to build-up. And their total amount is (if at all) 0,3MB.
    After a while of 3d-scene altering operations (adding, removeing objects) the application/flash-player crashes, most possibly to not being able to allocate more RAM (Taskmanager shows RAM almost completely used up by flashPlayer-process). The application does not exit due to 3d-resource related limits like vertex-buffers, but here are now my questions:
    Questions:
    a) Are there areas of RAM-usages a (stage-3d) application uses up, which can not be profiled by FlashBuilder?
    For exmaple: Is it possible that some objects (maybe stage-3d related) that hold onto some areas of memory/RAM which do not show up in memory profiler?
    c) Is the versioning of used components (flashPlayer, FlashBuilder or used Flex-SDK) in an way relevant when memory profiling an application? It it possible that i dont properly see the used memory by my application because i might have old version of involved components?
    d) Do you have any other idea what might be the cause here for increased RAM-usage or why it does not show up in memory profiler? I mean at least i expected to see it in memory profiler.
    e) Generally i understand that the flashPlayer allocates RAM as it sees fit, and that its not the same amount of memory my application currently uses. But if my application seems not to use/demand any more memory (at least thats what the profiler tells me) i dont understand why flashPlayer allocates more and more memory - even to the point of crashing. Any ideas here?

    Long shot but...
    When I had an issue with Flash Builder 4.6 PC mobile in regards to the java heap problem I discovered myself that my project had content which apparently blew out the FB threshold. In particular my mp3 files (3 units) were of too much high quality (360 kbps), I had to scale down the files to 128 kbps. This is an extreme shame.
    I am currently running these threshold tests to see if my mp3s can be of better kbps. I did hack my CONFIG scripts in the sdk folders in the installation location but that did not solve my issue. LESSON LEARNED: FB apparently employs the web logic where reduced files equal better performance.

  • WTK Memory profiler crashes

    Hi,
    I am trying to profile my application using the wtk's memory profiler. The apllication that iam trying to load is pretty huge. When i try to do this, the memory profiler (zayit.exe) crashes.
    The stack trace is as follows
    java.lang.IndexOutOfBoundsException
         at java.io.BufferedInputStream.read(BufferedInputStream.java:272)
         at java.io.DataInputStream.read(DataInputStream.java:224)
         at com.sun.kvem.memorymon.MemoryListener.run(Unknown Source)
    Any help would be of great use.
    Thanks,
    Suresh

    ----------------From Flex Builder
    Help---------------------------------------------------
    One approach to identifying a memory leak is to first find a
    discrete set of steps that you can do over and over again with your
    application, where memory usage continues to grow. It is important
    to do that set of steps at least once in your application before
    taking the initial memory snapshot so that any cached objects or
    other instances are included in that snapshot.
    Then you perform that set of steps in your application a
    particular number of times -- 3, 7, or some other prime number --
    and take the second memory snapshot to compare with the initial
    snapshot. In the Find Loitering Objects view, you might find
    loitering objects that have a multiple of 3 or 7 instances. Those
    objects are probably leaked objects. You double-click the classes
    to see the stack traces for each of the instances.
    Another approach is to repeat the sequence of steps over a
    long period of time and wait until the memory usage reaches a
    maximum. If it does not increase after that, there is no memory
    leak for that set of steps.
    check your app following these instructions above.

  • Flex Ant SDK giving compile warnings not present in Flex Builder

    We have a project when  we complie from Flash Builder 4 it compiles as expected with no errors. However when we do an ANT build on a build machine with no Flash Builder installed, the same code (checked out from SVN) and same Flex SDK we have started to get an error: "Error: Access of possibly undefined property labelName through a reference with static type ..."
    If I Run As the ant build from inside eclipse it builds fine and no errors (I verified the SDKs are the same). I can "work around" this by using show-actionscript-warnings="false" in the build.xml file, I'd rather not have to do this.
    The error labelName property in the component that is referenced in the error is indeed marked public and it is [Bindable]. In fact the component that it says this error is associated with hasn't changed in a couple months.
    Some other info that might be of interest on our system that builds the deploy version:
    1. Our build box is running mac os x (10.5.6), Processor: 2GHz Intel Core 2 Duo, Memory: 2GB
    2. Flex SDK 4.1A
    3. Java version 1.5.0_13
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_13-b05-237)
    JavaHotSpot(TM) Client VM (build 1.5.0_13-119, mixed mode, sharing)
    4. Ant -version: Apache Ant version 1.7.0 compiled on February 29 2008
    Any ideas as to what could be causing this "phantom" error in our module? How to fix? Hints or other avenues to pursue?
    Thanks,
    Mike Weiland

    So it turns out I need to overlay the latest SDK into the Flash Builder directory completely, not just the files I was messing with before.
    In flex builder, go to the directory where the SDKs are installed.
    On my system this is
    C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.5\sdks
    On a Mac, it might be
    /Applications/Adobe Flash Builder 4.5/sdks
    There should be a 3.6.0, 4.5.0 and a 4.5.1 present.
    Make a copy of the 4.5.1 directory.
    Download the AdobeAIRSDK from
    Windows -  http://airdownload.adobe.com/air/win/download/latest/AdobeAIRSDK.zip
    Mac - not sure what the link is.
    Unzip this file, then overlay the contents into the 4.5.1 directory. There are 8 directories, and 2 files. The target 4.5.1 has 10 directories, and 7 files (on my system)
    In Flash Builder, project properties need to be tweaked.
    The Flex Compiler tab - Check [Use a specific SDK:], and pick Flex 4.5.1 in the dropdown.
    And in the Additional compiler arguments add
    -swf-version=12
    In your code, to use the AEC, pick the Enhanced Microphone, as in
    microphone = Microphone.getEnhancedMicrophone();
    Now if only I could figure out what all the settings do and which one's I need to tweak for our environment... loads of experimenting.
    Mark.

  • Jdev11g CPU profile and Memory Profile doesn't work for Mac

    I'm running Jdev11g on Mac OSX 10.5.5,
    CPU Profile and Memory Profile doesn't work. I got following message:
    Error occurred during initialization of VM
    Could not find agent library in absolute path: /Shared/jdevjavabase11110/jdeveloper/jdev/lib/profiler16.so
    The file actually is there. I don't understand why they looking for .so file, it supposed to be mapped as .jnilib on Mac.
    This is broken on TP4 as well.

    I'm still seeing this issue. Here is what I get:
    /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin/java -client "-agentpath:/Users/kamleshnanda/Downloads/jdeveloper/jdev/lib/profiler16.so=port=60950,jarpath=/Users/kamleshnanda/Downloads/jdeveloper/jdev/lib/profiler-agent.jar,enable=t,depth=1000,startup=connect,time" -classpath /Users/kamleshnanda/jdeveloper/mywork/MyJavaApplication/Project1/classes project1.Class1 Hello
    Error occurred during initialization of VM
    Could not find agent library in absolute path: /Users/kamleshnanda/Downloads/jdeveloper/jdev/lib/profiler16.so
    Process exited with exit code 1.
    I'm using the following build:
    About
    Oracle JDeveloper 11g Release 1 11.1.1.2.0
    Java Edition Version 11.1.1.2.0
    Build JDEVADF_11.1.1.2.0_GENERIC_091029.2229.5536
    Copyright © 1997, 2009 Oracle and/or its affiliates. All rights reserved.
    IDE Version: 11.1.1.2.36.55.36
    Product ID: oracle.jdeveloper
    Product Version: 11.1.1.2.36.55.36
    Version
    Component     Version
    =========     =======
    CVS Version (External)     (CVS) 1.12.13 (client/server)
    Java(TM) Platform     1.6.0_17
    Oracle IDE     11.1.1.2.36.55.36
    PMD     JDeveloper Extension 4.2.5.3.0
    Team Productivity Center     11.1.1.2.36.55.36
    Versioning Support     11.1.1.2.36.55.36
    Here are the JVM properties:
    java.runtime.name     Java(TM) SE Runtime Environment
    java.runtime.version     1.6.0_17-b04-248-10M3025
    java.specification.name     Java Platform API Specification
    java.specification.vendor     Sun Microsystems Inc.
    java.specification.version     1.6
    java.vendor     Apple Inc.
    java.vendor.url     http://www.apple.com/
    java.vendor.url.bug     http://bugreport.apple.com/
    java.version     1.6.0_17
    java.vm.info     mixed mode
    java.vm.name     Java HotSpot(TM) 64-Bit Server VM
    java.vm.specification.name     Java Virtual Machine Specification
    java.vm.specification.vendor     Sun Microsystems Inc.
    java.vm.specification.version     1.0
    java.vm.vendor     Apple Inc.
    java.vm.version     14.3-b01-101
    Here is the OS information:
    os.arch     x86_64
    os.name     Mac OS X
    os.version     10.6.2

  • Flex builder 3.0.1 check sum

    Today I download flex builder 3.0.1 (FB3_win.exe windows
    version standalone ), when use md5sum check the file, It not same
    as the adobe's page (Windows: 5685090ac5f2a514075e7a7bd7ba1eb0), my
    checksum is (963d2a6fee8f9fc3fd496d1e69de093a FB3_win.exe),and I
    redownload the FB3_win.exe now checksum is
    (9d85401cfb42792278e84403fc565cbf FB3_win.exe).
    now I don't know which one is the correct,anyone can tell me
    the checksum of FB3_win.exe which download from
    http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex3email
    now i searched form google,it sames
    5685090ac5f2a514075e7a7bd7ba1eb0 is flex builder 3.0,not 3.0.1.
    look at
    http://blogs.adobe.com/flex/2008/02/its_on_flex_30_and_adobe_air_1.html
    btw ,i use two download file , this two file both can install
    and not report any error,and i also run and debug two sample
    application ,it seems ok.but now i am confused totally

    Adobe Newsbot hopes that the following resources helps you.
    NewsBot is experimental and any feedback (reply to this post) on
    its utility will be appreciated:
    Flex 3 - Creating your first Flex AIR application in Flex
    Builder:
    If you haven't already done so, download and install Flex
    Builder 3. For more information, see Setting up the Flex 3 SDK.
    Contents
    Link:
    http://livedocs.adobe.com/flex/3/html/FBHelloWord_1.html
    Adobe - Flex 3:
    Try Flex Builder 3 free for 60 days. ... Alert This content
    requires Flash. Download Flash Player now &middot; Get Adobe
    Flash Player
    Link:
    http://www.adobe.com/products/flex/
    Flex 3 - Creating modules in Flex Builder:
    The following steps describe how to create a new module in
    Flex Builder. ... (This can result in smaller download sizes for
    your SWF files.
    Link:
    http://livedocs.adobe.com/flex/3/html/creating_modules_2.html
    Adobe - Flex Builder: Features:
    Flex Builder 3 is now available in Standard and Professional
    editions. ... Flex Builder 3 is a powerful Eclipse based IDE that
    includes editors for MXML,
    Link:
    http://www.adobe.com/products/flex/features/flex_builder/
    Flex 3 - About Flex Builder projects:
    In addition to Flex projects, Flex Builder provides a basic
    project type called ... where AIR developers can publish AIR
    applications for users to download.
    Link:
    http://livedocs.adobe.com/flex/3/html/projects_2.html
    Disclaimer: This response is generated automatically by the
    Adobe NewsBot based on Adobe
    Community
    Engine.

  • Flex 2 beta 3 compiler confused by syntactic error

    Hi,
    The Flex Builder 2 beta 3 compiler seems to get confused by a
    specific syntactic mistake I've made in my code.
    It is not making a "proper" syntax error report. It's instead
    throwing a nasty "An internal build error
    has occurred. Please check the Error Log" error, so I thought
    I should share that on the forum.
    The thing that lead to the "internal error" is that I wrote :
    var newCourseXMLDesc : XML =
    <CourseDescription
    nomDuPlat=_{courseNameTextBox.text.toString()} />;
    instead of that :
    var newCourseXMLDesc : XML =
    <CourseDescription
    nomDuPlat={_courseNameTextBox.text.toString()} />;
    Notice the position of the _ character just before the
    courseNameTextBox.
    I guess that should be fixed in a final version of the
    compiler.
    Cheers
    Nicolas Fonrose

    I just successfully deployed all three FDS web applications
    on Tomcat 5.5.17 with Sun 1.5.0_06 without any exceptions. From the
    stack trace it looks like this is thrown at startup. Can you
    confirm?
    Are you sure you deployed the war files cleanly?

  • FLEX Builder Pro 3 New Flex Project cannot configure J2EE

    I have FLEX Builder Pro 3 installed on a Windows XP machine.  LiveCycle Data Services is installed (with Tomcat) on a Linux RHEL 5 machine.  When trying to create a new FLEX project and configuring a J2EE server am very confused on what to put in Root Folder and Root URL.  I have tried various paths on the Root Folder (with a drive mapped through windows and also with just using the servername) and keep getting the error message:
    Invalid root. The WEB-INF/flex folder must contain either flex-config.xml or services-config.xml.
    I've located the flex-confing file in the tomcat5\webapps\ROOT\WEB-INF directory, but still get the error.
    Please any help would be greatly appreciated.

    Are your new classes referenced from the old code? Mxmlc employs a questionable form of "as-needed" linking, so classes that are not referenced from the main application are not even compiled. This referencing requirement is recursive; that is, any classes that are to be included have to be referenced from the main application, or from classes referenced by the main application, or from classes referenced by classes referenced by the main application, and so on. But if your new classes are not referenced at all from the old code, they will be ignored.

  • Flash CS3 vs. Flex Builder 2

    Here's the $64,000 question: should we be developing in Flash
    CS3 or should we shift over to Flex Builder 2? I maintain that AS
    3.0 is a pain in the proverbial, but I've been researching and
    finding as much help as possible online about it, and I've found
    that by and large people are using Flex Builder 2 as the basis of
    tutorials about AS 3.0. Does anyone have an official slant on this
    question? Should we abandon Flash for Flex? Will it help? Will it
    mitigate the difficulties non-programmers are experiencing with AS
    3.0 - or as I call it simply ***? Would I be getting more responses
    to my *** questions if I post them over in the *** forum under Flex
    Builder?
    Any thoughts on this matter would be most welcome, thank
    you.

    Beatie3,
    >> Help please.
    Sorry about that ... some days are crazier than others. :-/
    [From an earlier reply ...]
    > Thank you very much, that's exactly the sort of answer I
    > needed. Hmmm, cheque's in the mail. ;)
    Heh, good on ya! :)
    > I'm definitely a 'deseloper' and will stick with Flash.
    I wish
    > I had the luxury of only dipping into AS3.
    I don't know that I'd call it a luxury, really. Work is
    work. ;) As
    you might imagine, though, Flex Builder 2 provides a number
    of scripting
    improvements over the Actions panel (there's really no
    comparison; if you've
    tried them both, the Actions panel barely feels useful) and
    the Flex
    framework offers significantly more UI Components. Ideally,
    if the pocket
    book allows it, using both applications is the killer setup.
    > My problem is that I built a little program that draws
    scale bars
    > on uploaded images that can then be printed. It did
    everything
    > it needed to, but in AS2.0 you can't control the quality
    of the
    > imported jpgs.
    When you say imported, you mean dynamically loaded (loaded
    at runtime),
    right? Otherwise, I'm confused. The Flash IDE itself allows
    you to
    determine the quality of imported JPGs. In ActionScript 3.0
    ... are you
    talking about the Stage.quality property?
    > I'm experimenting with Sprites and I have something
    appearing
    > as the line is drawn but I can't crack the new way to
    express
    > coordinates.
    Not sure what might be tripping you up, actually. The
    coordinate grid
    is the same. Horizontally, higher numbers move toward the
    right;
    vertically, higher numbers move toward the bottom. That's the
    same as it's
    been.
    > I just want a blue hair line with a nice green dot at
    each end
    > that can be seen while the line is drawn. Once the
    mouseUp
    > happens the drawing guide should disappear and the black
    > line appear.
    Having heard what you're after, I just started a quick
    experiment from
    scratch. Here's my version, below. Note: I've made no effort
    to optimize
    my code. This is just a first draft to achieve a blue line
    segment with
    green dots on each end that becomes a black line segment when
    the mouse
    lifts.
    var startX:Number;
    var startY:Number;
    var canvas:Sprite = new Sprite();
    addChild(canvas);
    canvas.stage.addEventListener(MouseEvent.MOUSE_DOWN,
    mouseDownHandler);
    canvas.stage.addEventListener(MouseEvent.MOUSE_UP,
    mouseUpHandler);
    function mouseDownHandler(evt:MouseEvent):void {
    startX = mouseX;
    startY = mouseY;
    var dot:Sprite = new Sprite();
    dot.name = "dotStart";
    dot.graphics.beginFill(0x00FF00);
    dot.graphics.drawCircle(mouseX, mouseY, 5);
    dot.graphics.endFill();
    canvas.addChild(dot);
    dot = new Sprite();
    dot.name = "dotEnd";
    dot.graphics.beginFill(0x00FF00);
    dot.graphics.drawCircle(0, 0, 5);
    dot.graphics.endFill();
    canvas.addChild(dot);
    canvas.addEventListener(Event.ENTER_FRAME,
    enterFrameHandler);
    function enterFrameHandler(evt:Event):void {
    var dot:DisplayObject = canvas.getChildByName("dotEnd");
    dot.x = mouseX;
    dot.y = mouseY;
    canvas.graphics.clear();
    canvas.graphics.lineStyle(1, 0x0000FF);
    canvas.graphics.moveTo(startX, startY);
    canvas.graphics.lineTo(mouseX, mouseY);
    function mouseUpHandler(evt:MouseEvent):void {
    canvas.removeEventListener(Event.ENTER_FRAME,
    enterFrameHandler);
    canvas.removeChild(canvas.getChildByName("dotStart"));
    canvas.removeChild(canvas.getChildByName("dotEnd"));
    canvas.graphics.clear();
    canvas.graphics.lineStyle(2, 0x000000);
    canvas.graphics.moveTo(startX, startY);
    canvas.graphics.lineTo(mouseX, mouseY);
    There's a lot of repeated code there, and this isn't how I'd
    leave the
    above in an actual project, but by spilling out a rough cut
    like this, I'm
    hoping it gives you something to work with -- showing the
    mechanics of how
    this might be done.
    David Stiller
    Adobe Community Expert
    Dev blog,
    http://www.quip.net/blog/
    "Luck is the residue of good design."

  • Flex Builder 2 corrupting Eclipse 3.2.1

    Flex Builder 2 has some issues with Eclipse 3.2.1. I was
    working with the trial version, so maybe the full version does not
    exhibit these same problems, but if that is the case, then it is
    disappointing that adobe is trying to support two separate products
    instead of trying to resolve issues.
    The largest issue with the Flex Builder 2 plugin for eclipse
    is that if you have a flex project in the same workspace as other
    projects (like dynamic Java projects) the flex builder 2 will try
    to incorporate those projects in to the flex project when you do a
    build or a clean only on that specific flex project. As a result,
    eclipse consumes enormous amounts of memory that even with 2 gigs
    allocated to the heap, it runs in to out of memory exceptions
    frequently and the stability of eclipse has degraded significantly
    since I installed this product! The flex projects that I had loaded
    were some of the examples dealing with SpringGraph so I would not
    consider them as being large or complex. When there is a build
    occuring on just a Flex Project, it SHOULD HAVE NO BUSINESS even
    scanning other non-related projects regardless as to if they are in
    the same workspace!!!
    I am not too impressed with flex's interface with eclipse on
    the memory, the instability it introduced to eclipse, or how
    SpringGraph handles large graphs, so I did not pursue getting a
    license for future development. I also felt that the asking price
    for the Flex Builder 2 is steep for what you get and its maturity
    level. As such, when the license expired, Adobe had the nerve to
    disable core functionality within Eclipse!!! For example, it would
    not allow a CSS document to be opened in the CSS Editor! It
    Hijacked the basic Eclipse functionality!!!
    I am very disappointed in how the Flex Builder 2 plugin for
    Eclipse does not play friendly!
    But at least it does allow itself to be disabled. I am
    grateful for at least that level of accepted behavior.

    Cluebcke, thanks for the reply!
    I am using a compaq nx7010 laptop with 2 gigs ram, 60 gig hd,
    eclipse is set to utilize a minimum of 512 megs and a maximum of
    1540 megs for the heap space. Virtual memory is set to a max of
    4092 megs. Fairly generous I would assume. I doubt it was a
    configuration issue, but hey, I’m open to learning and the
    best lessons are through mistakes! ;-)
    Sorry, I was being a bit sarcastic when I mentioned that
    perhaps the issues were related to the free trial version knowingly
    perfectly well that in fact there is no difference between the two
    products. But I guess I was also conceding a possible out for Flex
    too. Hmm...
    To clarify my comment about aggressively compiling against
    other projects:
    1) I had about 4 demos loaded in to a workspace (269 files,
    82 folders, and 7.2 megs including my 1 test project as mentioned
    in item 4)
    2) I had about 7 large Java projects loaded in to the same
    workspace
    3) Total workspace size was about 22,000+ files and 1600+
    megs, give or take a fair number either way.
    4) I was making changes to a simple flex project based upon
    a SpringGraph demo
    5) I choose to manually build only the small flex project I
    was working on so as to replace all the generated files. NOTE:
    Might have been a clean, but only on that one flex project and NOT
    the whole work space. It takes too long to rebuild all of my other
    Java projects so that option has been unchecked for quite a while.
    6) What I saw in the Eclipse progress window was a list of
    files within my flex project getting reconstructed, and then it
    started to scan through the other projects too. All of their names
    and resources were flashed within that window.
    7) When finished with the build of the ONE flex project, the
    Java heap was basically gone. Starting a TomCat server would cause
    an out of memory exception. Recall I have allocated 1.5 gigs for
    the heap.
    8) Checking the other Java projects and Flex projects, the
    timestamps on the objects did not reflect that they were just
    rebuilt. They were untouched. Proof that I did not perform a build
    or a clean over the whole workspace.
    I agree with you whole heartedly that unless I explicitly
    select “build all” or “clean all” it should
    not touch other projects in anyway. But it did.
    As far as the issue with the CSS editor, I understand and
    accept your point. Perhaps as a friendly suggestion, when the trial
    expires, the plugin should uninstall itself. This may be very
    doable, and still have the functionality of a reminder and
    reactivation upon registration if Flex Builder actually had a
    second plugin called something like "FlexBuilder Registration"
    which would "intercept" attempts to edit and utilize the
    FlexBuilder only functionality so an informative message could be
    displayed. The benefit would be that normal functionality for
    non-flex resources such as CSS would return to normal.
    Anyway, as I stated before, I was not too impressed with
    performance of large graphs. What I consider to be large would be
    on the magnitude of 20,000 to 100,000+. It would need to display
    just about all nodes, or at lease an abstract relationship of those
    nodes rolled up to a higher level. I realize that SpringGraph is
    not ideal for those situations to begin with, but I was exploring
    the idea of writing other plugins to deal with other graphing
    formats.
    I guess to be fair to Flex in general, I should probably ask
    a general question of how well does Flex deal with large data sets
    that need to be resident and the manipulations of those data sets?
    Thanks for your time,
    Scott Tabar

  • Flex Builder choked - need help please

    I had to go out of town for a few days so I installed Flex Builder 3 on my MacBook, downloaded and installed Flex SDK 3.3 (Since that is what I have been building on, on my office Mac), created an exported .zip of my major project files on my office Mac, copied it to the MacBook and set off on my trip.
    When I set up the MacBook to start work, things looked OK at first, until I tried to switch to design mode. It popped up an error that "This component is based on ______, which is not a visual component. Switch to source mode to edit it" It did this for components based on Grid, Canvas, HBox and more.
    I was stumped, and miles from an Internet connection to be able to do research. FInally I decided maybe my install of SDK 3.3 was corrupt. I reset in the project prefs to use SDK 3.0 and ... everything worked perfectly!  I did what I needed to do for the rest of the weekend and returned home.
    Now, I just tried to export my project as a Flex Project Archive on my MacBook. It resulted in a 24K .zip file - basically empty - that can't be used. So, I just renamed my primary project folder on the office Mac to hide it from Flex Builder, then copied all the files, including the hidden .flexproperties, .project and .actionscriptproperties,  from the MacBook onto my office Mac in a new project folder named the same and in the same location as previously. The transfer appeared to be successful.
    Now, on my office Mac, I am getting the message "An unknown item is declared as the root of your MXML document.Switch to source mode to correct it." This happens every time I try to switch to Design view, regardless of what component is used in the MXML doc.
    After many attempts at figuring out and fixing the problem I tried setting the project properties to utilize SDK 3.1. Once that process was complete, then I went into properties again and set it to 3.3.  It appears that I may have succeeded in restoring it to usability, but I'm not confident in that yet.
    Can anyone give me some insight into the cause and fix of this problem? Especially the failure of Flex Builder to create a viable .zip archive file? I will be needing to move the project back and forth between my computers quite a bit for travel in the next few months.
    Thanks.
    Paul

    I am not being facetious with my answer but have you considered simply using XCode and Apache Ant and creating your own build script? This is the approach that I've had the fewest of problems with. The reason being is that Ant is Ant no matter where it is. It also cuts out all the background noise (i.e. configuration files, scripts, etc).
    I have had similar problems like what you've mentioned using Netbeans and Eclipse (e.g. a version change or an SDK change and suddenly my project is somehow foobar).
    As for your error message:
    "An unknown item is declared as the root of your MXML document.Switch to source mode to correct it."
    StackOverflow seemed to have a solution:
    http://stackoverflow.com/questions/347196/how-to-resove-this-error-an-unknown-item-is-decl ared-as-the-root-of-your-mxml-do
    Don't know if it's your solution. Sometimes these automated tools place little hidden scripts in their comments that are meant to mean something for the drag-and-drop GUI editor and deleting these comments confuses the IDE.

  • Flex Builder shows one error at a time

    Hi folks,
    I am new to flex. I have written a sample application in ActionScript. When I tried to build the application I am not able to see all my compile time errors at a single time. Following is the brief summary of the Issue occured while building the sample application:
              - First time one compliation error is shown.
              - After fixing this compilation error
              - Another compilation error is shown.(remember this error exists even at first time also) (and so on)
    Can't I see all the compilation errors at once (so that I can fix all my errors at one shot) in Flex Builder?
    (Note: I have the 'strict' mode enabled for the flex project)
    Thanks,
    Vamsi

    It depends on the error. If your error is confusing the heck out of the compiler, the compiler might not be able to reason about the rest of your source code, so it won't catch the rest of your errors. It also depends on the compiler--smarter compilers can show you more informative errors, or more errors at a time.
    I've found that most of the time, FlexBuilder is pretty good at reporting multilpe errors. Unfortunately, when it's not, there's not much you can do.

Maybe you are looking for