Question on the impact of Garbage collection

I get messages in the log as below...
2009-09-09 14:33:21.677/691.607 Oracle coherence EE 3.5/459 < D5 > (thread = PacketPublisher, Member = 4): experienced a delay of communication ms 538 (GC distance likely) with Member (Id = 7, Timestamp is 14:24:51.312 2009-09-09, address = 10.0.0.205:8094, MachineId = 2765, location = site: server07, process: 10125, role = ServerContainer); 22 packages reprogrammed, PauseRate = 0.0010, threshold = 1976

In the case above Member 4 is an active storage node and Member 7 is not.
Basically, it runs a distributed cache, in a client/server operation.

I understand that this basically means consistency server is waiting to communicate to the customer and cannot due to the garbage collection operation.

This is perfect, we expect in this scenario, the client JVM to have breaks from garbage collection, we cross GC optimization at the moment.

To get to the question later :) Does this mean that this node is unable to communicate to other nodes of customer for 538ms? And so the customer break GC affects consistency server node and therefore all client nodes?
I expect the cache to always respond to requests to take, but if there is only one responsible for thread of the publication of the packages to clients (as indicated by the name of the thread) so I can't imagine it would be blocked.

I don't see anything specific in the forums about this. I found the following
"Although it is quite possible to see the log messages indicating that a cache server" has experienced behind communication ", these messages are generated by the TCMP layer and have no impact on the responsiveness of cache to requests for other customers service." ""
But wasn't 100% sure that it meant no effect, or no impact on making queries.

Thank you
Steve

This means that this node will be suspended during this period.

Of course other nodes will be able to continue, but if you do something that affects this node he asks should wait (for example, the aggregation on all nodes).

However, if you have found (for example) an object of key to another node that will be just fine.

There are many solutions to these problems, but all can take a huge amount of time.

(1) by using CG (parallel) differential ParNew
(2) using the experimental (parallel) GC G1 in JDK6_14 but ready to use in JDK7. I read an article on Chicago Board of Options Exchange using it wisely.
(3) to aid in time real Sun JVM
(4) to aid Oracle's JRockit

Best, Andrew.

Tags: Fusion Middleware

Similar Questions

  • A question on the impact of SQL * PLUS SERVEROUTPUT Optionconcernant v$ sql

    Hello everyone,
    SQL> SELECT * FROM v$version;
    
    BANNER
    ------------------------------------------------------------------------------
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE    11.2.0.1.0  Production
    TNS for Linux: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    
    SQL> 
    
    
    OS : Fedora Core 17 (X86_64) Kernel 3.6.6-1.fc17.x86_64
    I would like to ask a question about SQL * Plus SET SERVEROUTPUT option on / off and its impact on queries on views such as v$ sql and v$ session. This is the problem

    In fact I define three variables in SQL * Plus to store sidcolumns, serial # and prev_sql_id of session $ v in order to be used later, several times in various other queries, while I work always in the current session.

    So, here's how
    SET SERVEROUTPUT ON;  -- I often activate this option as the first line of almost all of my SQL-PL/SQL script files
    
    SET SQLBLANKLINES ON;
    
    VARIABLE mysid NUMBER
    VARIABLE myserial# NUMBER;
    VARIABLE saved_sql_id VARCHAR2(13);
    
    
    -- So first I store sid and serial# for the current session
    BEGIN
        SELECT sid, serial# INTO :mysid, :myserial#
        FROM v$session
        WHERE audsid = SYS_CONTEXT('UserEnv', 'SessionId');
    END;
    /
    
    
    PL/SQL procedure successfully completed.
    
    
    -- Just check to see the result
    SQL> SELECT :mysid, :myserial# FROM DUAL;
    
        :MYSID :MYSERIAL#
    ---------- ----------
           129   1067
    
    SQL> 
    Now let's say I want to run the following query as the last SQL statement is executed within my current session
    SELECT * FROM employees WHERE salary >= 2800 AND ROWNUM <= 10;
    According to the reference of database Oracle® 11 g Release 2 (11.2) description of session $ v

    http://docs.Oracle.com/CD/E11882_01/server.112/e25513/dynviews_3016.htm#REFRN30223]

    column prev_sql_id includes the sql_id of the last executed sql statement for the sid and serial data which, in the case of my example, it will be the above mentioned query SELECT on the employees table. So right after the SELECT statement on the employees table I have run the following
    BEGIN
        SELECT prev_sql_id INTO :saved_sql_id
        FROM v$session 
        WHERE sid = :mysid AND serial# = :myserial#;
    END;
    /
    
    PL/SQL procedure successfully completed.
    
    SQL> SELECT :saved_sql_id FROM DUAL;
    
    :SAVED_SQL_ID
    --------------------------------
    9babjv8yq8ru3
    
    SQL> 
    The value of sql_id, I'm supposed to find all the information on the sliders for my SELECT statement and also its value sql_text in v$ sql. Here is what I get when I query v$ sql on the stored sql_id
    SELECT child_number, sql_id, sql_text 
    FROM v$sql 
    WHERE sql_id = :saved_sql_id;
    
    
    CHILD_NUMBER   SQL_ID          SQL_TEXT
    ------------  --------------   -------------------------------
    0              9babjv8yq8ru3    BEGIN DBMS_OUTPUT.GET_LINES(:LINES, :NUMLINES); END;
    So instead of
    SELECT * FROM employees WHERE salary >= 2800 AND ROWNUM <= 10;
    get the next value for the value of sql_text
    BEGIN DBMS_OUTPUT.GET_LINES(:LINES, :NUMLINES);
    Which is of course not what I expected to find in v$ sql for the given sql_id.

    After a little googling, I found the next thread on OTN forum, where it was suggested (well, I think that may not be exactly the same problem) to disable SERVEROUTPUT.

    Problem with dbms_xplan.display_cursor

    It was exactly what I did
    SET SERVEROUTPUT OFF
    After that, I repeated the procedure as a whole and this time everything worked pretty much as expected. I checked SQL * more documentation for SERVEROUTPUT
    and also the page of v$ session, yet I don't find nothing indicating that SERVEROUTPUT should be operated off every time that views such as v$ sql, v $session
    are queired. I don't really understand the link in what concerns the impact that can have on the other or better say rather, why is there an impact

    Could someone kindly do a few details?


    Thanks in advance,

    Kind regards
    Dariyoosh

    >

    and also the page of v$ session, yet I don't find nothing indicating that SERVEROUTPUT should be operated off every time that views such as v$ sql, v $session
    are queired. I don't really understand the link in what concerns the impact that can have on the other or better say rather, why is there an impact

    Hi Dariyoosh,
    SET SERVEROUTPUT ON has the effect of dbms_output.get_lines running after each statement. Not only related to the system view.

    Below is what Tom Kyte is explained in this page:

    Now, sqlplus sees this feature and says "Hey, it wouldn't be nice for me to empty the buffer to the screen for the user? Thus, they added the command SQLPlus "set serveroutput we" which does two things

    (1) he tells SQLPLUS you would like run dbms_output.get_lines after each statement. You would like to make this network rounded up after each call. You want that this additional load will take place (think of a script of installation with hundreds / thousands of statements to run - maybe, just maybe you don't want this extra call after each call)

    (2) SQLPLUS automatically calls the API dbms_output "activate" to activate the buffering which is in the package.

    Kind regards.
    Al

  • Question about the impact of a data file missing

    Oracle Version: 10 gr 2


    If a data file (not a data file belonging to the tablespace SYSTEM or any other data file associated with Oracle Internals) is lost, I can bring the database up somehow?

    Nichols wrote:
    Keita,
    What happens if I don't have a backup of the data file that is lost?

    OK understood

    If you do not have a backup of your database and that you have lost a data file, then you must re - create control file (which will contain the names of data inside files) without indicating lost data file name

    You must create the controlfile creation script and remove the line of lost data file name and create a controlfile. After that, you should be able to open your database successfully

    - - - - - - - - - - - - - - - - - - - - -
    Kamran Agayev a. (10g OCP)
    http://kamranagayev.WordPress.com
    [Step by step installation Oracle Linux and automate the installation by using Shell Script | http://kamranagayev.wordpress.com/2009/05/01/step-by-step-installing-oracle-database-10g-release-2-on-linux-centos-and-automate-the-installation-using-linux-shell-script/]

  • Does garbage collection occurs in the region of PERM of Java Heap?

    Hi guys,.

    I am a new Member to this forum, my name is Javin Paul and I'm a Java programmer. I have a question related to the garbage collection in Java

    Does garbage collection occurs in the region of PERM of Java Heap?

    According to my knowledge PERM area is used to store metadata about classes, methods, variable etc also string Pool created in PERM area of the heap, so I believe that garbage do not occur in this place, but I just wanted to know what you guys think of it?

    Thank you
    Hervé

    Basics segment of memory and so on that you are used to, do not apply the FMV of Blackberry - well they probably not, but it is well hidden from us.  I recommend you check out this video to understand what you can control re garbage collection operation.

    http://US.BlackBerry.com/developers/choosingtargetos.jsp#.

  • Restarting the device on the garbage collection

    Hello

    I created an application that performs the following operations:

    1. Read an email address of a BasicEditField that an end user will be input.
    2. Convert this string to an object of net.rim.blackberry.api.mail.Address
    3. Persist the object address by doing a commit sync
    4. Read the persistent object even to intervals and use it to send email.

    I am able to record the e-mail to the PersistentStore address.  When I get out my app running (for sending electronic mail timed) so the device restarts.  After a reboot, the device remains stable and emails come out because they are supposed to.

    I am now able to reproduce this exact behavior if I first enter the e-mail address, it persists and call a GC (garbage collection).  As soon as I do this, the device restarts.  As a tip, I also did a forceCommit() rather than a commit() and there is no difference.

    I tested the following physical devices:

    Bold 9700 - v5.0.0.862 (1446 Bundle, platform 5.1.0.175)

    Torch 9800 - v6.0.0.246 (695 Bundle, platform 6.4.0.150)

    The same behavior is exhibited in both devices.

    I don't think any of you have already encountered this?  I was not able to understand why this is happening and it has been driving me crazy.  If you've seen behavior like this and have either thought about it or not, please answer.  Thank you!

    Imagine that... Address is not persistent.  Could have fooled me because once or twice, the program worked by reading the object address of is.  The behavior seems to be inconsistent.  I have changed my address object in a string and now everything works fine.

  • Anyone know if there is no CC or BC apps or other alternatives that allow a way to create an online survey consisting of 3 questions for the participants to a trade appear to fill out and submit for the purposes of data collection?  Offlin data collection

    Anyone know if there is no CC or BC apps or other alternatives that allow a way to create an online survey consisting of 3 questions for the participants to a trade appear to fill out and submit for the purposes of data collection?  Offline data collection is a must. Ability to export data to Excel would be an added bonus. Thanks for the tips.

    Hi Nathan,

    This link might help: Create PDF fillable, creative forms of PDF form. Adobe Acrobat DC

    Kind regards

    Sheena

  • Delete / external swf or the files in the flash file main to unload and load a new swf file and memory garbage collection.

    I can't delete / unload the example swf files external when the carousel.swf (portfolio) appears and press the button about the content overlaps the carousel (portfolio). How can I delete / unload an external swf file in the main flash file and load a SWF, so that at the same time remove garbage collection memory operation?

    This is the error messages I receive: "TypeError: Error #2007: child parameter must be non null.»

    at flash.display::DisplayObjectContainer/removeChild()

    " to index_fla::MainTimeline/Down3().

    Import nl.demonsters.debugger.MonsterDebugger;

    var d: MonsterDebugger = new MonsterDebugger (this);

    stage.scaleMode = StageScaleMode.NO_SCALE;

    internship. Align = StageAlign.TOP_LEFT;

    stage.addEventListener (Event.RESIZE, resizeHandler);

    is the charger for the portfolio page swf

    var loader: Loader;

    var loader2:Loader;

    var loader3:Loader;

    var loader1:Loader;

    resize the content

    function resizeHandler(event:Event):void {}

    resizes the portfolio page to Center

    Loader.x = (stage.stageWidth - loader.width) *. 5;

    Loader.y = (stage.stageHeight - loader.height) *. 5;

    resizes on page to Center

    loader3.x = (stage.stageWidth - 482) *.5 - 260;

    loader3.y = (stage.stageHeight - 492) *.5 - 140;

    * loader2.x = (stage.stageWidth - 658.65) *. 5;

    loader2.y = (stage.stageHeight - 551.45) *. 5; * /

    }

    addEventListener (Event.ENTER_FRAME, onEnterFrame, false, 0, true);

    function onEnterFrame(ev:Event):void {}

    var requesterb:URLRequest = new URLRequest ("carouselLoader.swf");

    Charger = null;

    loader = new Loader();

    Loader.Name = "carousel1.

    Adds gallery.swf in the scene at the beginning of the film

    loader.contentLoaderInfo.addEventListener (IOErrorEvent.IO_ERROR, ioError);

    function ioError(event:IOErrorEvent):void {}

    trace (Event);

    }

    try {}

    Loader.Load (requesterb);

    } catch (SecurityError: error) {}

    trace (Error);

    }

    addChild (loader);

    Loader.x = (stage.stageWidth - 739) *. 5;

    Loader.y = (stage.stageHeight - 500) *. 5;

    stopover gallery.swf duplication and more on enter frame

    removeEventListener (Event.ENTER_FRAME, onEnterFrame);

    }

    PORTFOLIO BUTTON

    Add eventlistner so that gallery.swf can be loaded

    MovieClip (root),.nav.portfolio.addEventListener (MouseEvent.MOUSE_DOWN, down, false, 0, true);

    function Down(event:MouseEvent):void {}

    Re add listener for contact.swf and about.swf

    MovieClip (root).nav.info.addEventListener (MouseEvent.MOUSE_DOWN, Down1, false, 0, true);

    MovieClip (root).nav.about.addEventListener (MouseEvent.MOUSE_DOWN, Down3, false, 0, true);

    discharge of entry gallery.swf frame if users press portfolio in nav button

    var applicant: URLRequest = new URLRequest ("carouselLoader.swf");

    Charger = null;

    loader = new Loader();

    Loader.Name = "carousel."

    loader.contentLoaderInfo.addEventListener (IOErrorEvent.IO_ERROR, ioError);

    function ioError(event:IOErrorEvent):void {}

    trace (Event);

    }

    try {}

    Loader.Load (requester);

    } catch (SecurityError: error) {}

    trace (Error);

    }

    addChild (loader);

    Loader.x = (stage.stageWidth - 739) *. 5;

    Loader.y = (stage.stageHeight - 500) *. 5;

    removeChild (getChildByName ("about"));

    removeChild (getChildByName ("carousel1"));

    delete eventlistner and prevents duplication of the gallery.swf

    MovieClip (root).nav.portfolio.removeEventListener (MouseEvent.MOUSE_DOWN, down);

    }

    INFORMATION BUTTON

    Add eventlistner so that info.swf can be loaded

    MovieClip (root).nav.info.addEventListener (MouseEvent.MOUSE_DOWN, Down1, false, 0, true);

    function Down1(event:MouseEvent):void {}

    This adds the EventListener for portfolio so that the end user can re-post if they wish.

    MovieClip (root),.nav.portfolio.addEventListener (MouseEvent.MOUSE_DOWN, down, false, 0, true);

    MovieClip (root).nav.about.addEventListener (MouseEvent.MOUSE_DOWN, Down3, false, 0, true);

    var applicant: URLRequest = new URLRequest ("contactLoader.swf");

    loader2 = null;

    loader2 = new Loader();

    loader2. Name = "contact".

    loader2.contentLoaderInfo.addEventListener (IOErrorEvent.IO_ERROR, ioError);

    function ioError(event:IOErrorEvent):void {}

    trace (Event);

    }

    try {}

    loader2. Load (requester);

    } catch (SecurityError: error) {}

    trace (Error);

    }

    addChild (loader2);

    loader2.x = (stage.stageWidth - 658.65) *. 5;

    loader2.y = (stage.stageHeight - 551.45) *. 5;

    delete eventlistner and prevents duplication of the info.swf

    MovieClip (root).nav.info.removeEventListener (MouseEvent.MOUSE_DOWN, Down1);

    }

    ON THE BUTTON

    Add eventlistner so that info.swf can be loaded

    MovieClip (root).nav.about.addEventListener (MouseEvent.MOUSE_DOWN, Down3, false, 0, true);

    function Down3(event:MouseEvent):void {}

    This adds the EventListener for portfolio so that the end user can re-post if they wish.

    MovieClip (root),.nav.portfolio.addEventListener (MouseEvent.MOUSE_DOWN, down, false, 0, true);

    MovieClip (root).nav.info.addEventListener (MouseEvent.MOUSE_DOWN, Down1, false, 0, true);

    var applicant: URLRequest = new URLRequest ("aboutLoader.swf");

    loader3 = null;

    loader3 = new Loader();

    loader3. Name = "a connection"

    loader3.contentLoaderInfo.addEventListener (IOErrorEvent.IO_ERROR, ioError);

    function ioError(event:IOErrorEvent):void {}

    trace (Event);

    }

    try {}

    loader3. Load (requester);

    } catch (SecurityError: error) {}

    trace (Error);

    }

    addChild (loader3);

    loader3.x = (stage.stageWidth - 482) *.5 - 260;

    loader3.y = (stage.stageHeight - 492) *.5 - 140;

    removeChild (getChildByName ("carousel"));

    removeChild (getChildByName ("carousel1"));

    delete eventlistner and prevents duplication of the info.swf

    MovieClip (root).nav.about.removeEventListener (MouseEvent.MOUSE_DOWN, Down3);

    }

    Stop();

    You call unload() on objects that you cancelled - where the error.

    You should do something like:

    {if (loader2)}

    loader2. Unload();

    }

    As for the null value passed into the function - null is a default value. In this way, you can call the low past nothing:

    Down()

    Or you can use it as a handler in which case it will be called by the Auditor:

    Down (mouseEventInstnace);

  • Basic questions about the Permanent Collections

    I'm learning just on Collections, discover that a Collection preserves all the work I did in the collection. So, I guess that the images of a collection are virtual copies which can be adjusted in the develop Module, with the difference that they appear in the catalogue under the imported original files. I suppose also that a changed image can be locked to prevent other changes, say if another virtual copy should be made.

    I understand that Collections should be protected somehow, for example if I have a collection with images adjusted to look good on the web, and another collection of the same images adjusted to the for look good, using a certain printer.

    Maybe I'll ever need adjust the images for different applications, except outside of Lightroom for applications in the CMYK offset printing. As different settings for the slideshow, Web and print can all be contained in a collection, it would probably be best to use the same images, without changing the images for each output.

    Some of you who have more experience can add thoughts here about how best to use the Collections. My goal is to keep things simple.

    TIA,

    Ken

    Ken-

    Put an image in a Collection made not a virtual copy. Either you have to have VC to reside in a Collection. These distinctions may be among the most important! Can I suggest that run you a few tests with VC in and out of the Collections?

    Best wishes

  • Question/AppMonitor performance impact

    Hello

    I installed the AppMonitor for a list of the 20 process. Is a comercial product and process control the State of the recovery and begin the process.

    I know he uses between 5 and 10 seconds to start again.

    My question is:

    I could put the quick check at 2 seconds with minimal use of resources or of this change will have an impact in the monitored host or in the FMS?

    Best regards

    David Fernandez

    The best practice is to configure the Foglight agents to collect less frequently than the maximum expected collection time.

    If the agent takes 5-10 seconds to collect the parameters, the frequency of collection must be set no more frequently than every 15 seconds. In general, I wouldn't recommend the AppMonitor agent configuration to collect more frequently than every 30 seconds.

    More frequent collections impact use of resources on the monitored host and, to a lesser extent, the FMS.

    As the agent of AppMonitor will be off sustained next year, it would be a good idea to validate the Infrastructure Officer for process data collection. If ICR agent doesn't have all the features you need, the earlier, these requirements are reported, the better.

    Kind regards

    Brian Wheeldon

  • Question about the use of secondary indexes in application

    Hi, I'm a newbie to Berkeley DB. We use Berkeley DB for our application that has tables in the following structure.

    Key to value1 value2
    ------- --------- ----------
    1) E_ID-> E_Attr, A_ID - where A_ID is String for example. A_ID = A1; A2; A3
    -where E_ID is unique but for example A1 or A2 may be part of multiple F_VITA say E1, E3, E5 etc.


    So my question is that it is possible to create secondary indexes on individual items of Value2 (e.g., A1, A2 or A3)?


    Another question, lets say we have two tables

    Key to value1 value2
    ------- --------- ----------
    2) X_ID-> X_Attr, E_ID

    E_ID-> E_Attr, A_ID - where A_ID is String for example. A_ID = A1; A2; A3

    In this case, can create us E_ID as a secondary Index but with primary Table-> E_Attr, A_ID E_ID?

    While X_ID given, we can get the chronogram, E_ID-> E_Attr, table allocation A_ID?

    Don't know if its possible.

    Thanks for reading.

    (1) when talking about data & Index, I was referring to READ ONLY BDB with no. UPDATES where you download entire files allows for example on a weekly basis. In this case, I believe that the data will be stored directly in the tree. It will not be stored in the transaction as such logs. This hypothesis is correct?

    # Storage I is nothing other than a transaction log. Read the white paper, that I mentioned.

    (2) and about the Garbage Collection operation, I meant BDB 'Cache éviction' algorithms. Sorry I have not communicated before.

    I use an LRU algorithm. What do you need exactly to know, that you can not get the doc?

    -mark

  • Run garbage collection operation in AIR - iOS app

    Just to be in a bit of a learning curve, develop a Flash application for browser used in a browser and set up with the memory management optimal if all goes well using Flash Professional CS5.5.

    Part of the process is to make sure that the object have no reference pointing of the finger when they are made with so much garbage can clean them.

    Now, I came to the port of the application on iOS for iPad. My question is... Air for iOS, run the garbage collection?

    Thank you

    Mark

    Yes. and you can manually force garbage collection by calling System.GC() If you use Air 3.0

    but try not to rely too much on the gc to solve memory problems... too much to clean up causes a very noticeable lag when running, and it does not work in any foreseeable calendar I can say... If your memory get is too high, your application can be ejected and crash.

    something to keep in mind, recycle and pool objects and varibles as much as you possibly CAN... try using the NEW keyword as little as possible... then all killed during a phase transition or loading followed a system.GC() if the offset is not noticeable.

  • Question about the definition of a table null vs defining each element null in the table and the recording of memory.

    Hello

    I try to avoid any kind of memory leaks or problems of garbage collection.

    public class test {}

    var anArray:Array;

    .

    .

    .

    public void addObjects() {}

    anArray = new Array();

    anArray [0] = new Something();

    anArray [1] = new Something();

    anArray [2] = new Something();

    for (var i: int = 0; i < anArray.length) {}

    anArray [i] .addEventListener (MouseEvent.CLICK, doSomething);
    addChild (anArray [i]);

    }

    }

    private void doSomething(event:MouseEvent) {}

    for (var i: int = 0; i < anArray.length; i ++) {}

    anArray [i] .removeEventListener (MouseEvent.CLICK, doSomething);

    removeChild (anArray [i]);


    }


    anArray = null;


    }


    }

    Is it effective or should I register "anArray [i] = null" after 'removeChild (anArray [i])' in the loop of my doSomething(event:MouseEvent) function?


    Sorry if my question is confusing and I thank you in advance.

    If there is no other reference to new Something() instances, other elements of the array, removing (or assignment a = []) should work.

  • Simple questions on the earphones of events and memory management

    I am brand new to AS 3.0 (have not coded in 10 years!) and I have a two part question on the management of event listeners.

    1. is it possible to use variables or loops to simplify the process of creating event listener? For example, I have a scene that animates the leaves when they are hit. There are 25 or more leaves, so I need to handlers of 25 and 25 functions, even if the animation is the same. Right now my code looks like this:

    leaf1.addEventListener (TouchEvent.TOUCH_BEGIN, animateLeaf1);
    leaf2.addEventListener (TouchEvent.TOUCH_BEGIN, animateLeaf2);
    leaf3.addEventListener (TouchEvent.TOUCH_BEGIN, animateLeaf3);

    etc. And then the functions all alike as well.

    function animateLeaf1(e:TouchEvent): void {}
    leaf1.gotoAndPlay ("animationStart");
    }

    function animateLeaf2(e:TouchEvent): void {}
    leaf2.gotoAndPlay ("animationStart");
    }

    etc. My instinct tells me there is an easier way to do this, but I don't know if it's just because I see a model and want to put it in a loop or if there is really a better way to do it. I have event listeners are doing right?

    2. How can I clean my waste? Each of my frames will have 100-300 earphones of events inside, for animations, etc., mainly because a single button can have 3-5 event listeners (touch Start, end touch, touch roll on, roll off touch, etc.). Is this too much for a mobile device to manage? When can I disable event listeners to make sure that they are the garbage collector to release the memory? I don't want memory leaks, but the event listeners must be active when the frame is active and destroyed when the setting is inactive; I don't know how to program which, or if such a garbage collection is already inherent in Flash.


    Thank you very much!
    Amber

    leaf1.addEventListener (TouchEvent.TOUCH_BEGIN, animateLeaf);

    leaf2.addEventListener (TouchEvent.TOUCH_BEGIN, animateLeaf);

    leaf3.addEventListener (TouchEvent.TOUCH_BEGIN, animateLeaf);

    leaf4.addEventListener (TouchEvent.TOUCH_BEGIN, animateLeaf);

    function animateLeaf(e:TouchEvent): void {}
    e.currentTarget.gotoAndPlay ("animationStart");
    }

  • Script for garbage collection in Captivate 4 Widgets?

    Hi guys and girls

    I'm having a problem with some custom widgets that I made. I have a number of widgets on every slide in my project (which are reused on each slide) and they work fine... BUT I noticed that when the project is published and played the executable starts eats more RAM. I noticed that the EXE eats more RAM at the beginning of each slide and never decreases.

    I think what is happening is that even though im using the same widget on each slide, Captivate load a new instance of the widget to each new slide and no garbage collection on the previous slide widgets. Does anyone know of an ActionScript command in order to solve this problem? Or a work around?

    A question for adobe... Do you know the guys on this problem? and if yes, do you intend to fix in an update?

    See you soon

    Aquil0

    Hi Aquilo,

    The reason for the consumption of RAM is usually because something in your code has not been unloaded, always raises an event or a timer still work and Captivate continues to run and store it in memory, despite a change of the slide or the off-screen image disappear.

    Best option is to add a feature to "unload" to your flash widget that will destroy everything.

    Here is an example applied to a loader (Actionscript 3) object

    loader.addEventListener (Event.UNLOAD, unLoadHandler);

    function unLoadHandler(event:Event):void {}

    Kill the charger

    var loader: Loader = Loader (event.target);
    Loader.Unload ();
    Charger = null;

    Remove event listeners

    this.removeEventListener ("onEnterFrame", onEnterFrame);
    this.loader.removeEventListener (Event.UNLOAD, unLoadHandler);

    Stop all timers

    Timer.Stop ();
    }

    Note how I put the "loader", NULL, after unloading it - this will ensure it comes out of the memory, as Flash Player 9 has an error where it won't completely remove something of memory, although it is being unloaded.

    Hope that helps.

  • Richard &amp; update questions about the Pavilion M8407

    I just put in an order for a Pavilion M8407C PC.  I ordered the PC because it is a quad-core, running a 64 bit OS and the price was so right.  I am interested in building a box fairly high-end at about 6 to 9 months, but need something now because my box 5 years just has no power for my applications anymore.

    I'll use it for modeling 3D and 3D engineering applications in the short term, and it will become a long term rendering area.

    Issues related to the:

    (1) the PC has 4 GB or RAM of 1 Gb Simms.  I'll upgrade to 8 GB, he would like to know if it is able to use 16Gb.  The OS is Vista Home Premium - is limited to 8 GB or 16 GB?  Is the limit of the 'House' or 'premium '?

    (2) the PC contains 2 360 GB drives.  Are they "RAID" ed or only 2 separate units (master & slave)?  All programs would be installed on a disk or both?  The second disk can be replaced with a larger without any OS or system of the impact?

    (3) how can be upgraded on the PC?  The operating system at any time will stop working because too many things have changed from the original HP Setup?

    Thanks for the review - I'm pretty comfortable with a screwdriver and have been building my own boxes, I'm not too familiar with the way in which 'Tier 1' PCs are set up.

    See you soon...

    Message edited by Matthew on 03/12/2008 19:49

    For someone who cares, I have rebuilt the box and here are the answers to my previous questions...

    (1) limit of motherboard memory is 8 GB.

    (2) the 2 360 GB disks are not attacked.  disk 1 is the 'OS' and 'HP install' backup and the second disc is empty.  This is ideal, because all OS and programs can be installed on the operating system drive, and the second player can be offered for data.  Easy for backups.

    (3) I have considerably improved the system.  You cannot change the motherboard, that would invalidate the Windows operating system installation.  MS wrote on OEM computers, changing motherboards is paramount to junking the old computer and requires a new purchase of OS.  I think they make exceptions for warranty cards mothers replacement - better double-check.

    I've updated...

    (A) memory.  Replaced the 4 GB (1 GB simms) with 8 GB (2 GB simms).  Simms spare parts become old.

    (B) added a 1 TB drive.  The chassis has room for 2 hard drives.  I added the third disc to his empty home of 5.25 "under the DVD drive.  I had to use a kit of adaptation and screws washers to fix the kit on the sides split to create a good grip.

    (C) replace the video card.  The NVidia 8500GT has of one taken DVI and HDMI output.  I couldn't get a good Monitor 2 out of it, because my monitors have entered VGA only.  In addition, I wanted a 1 GB of memory on the card as the programs I run use large textures so need more video of 512 MB of ram.  Replaced the with a NVidia GTS250 1 GB 8500GT.

    (D) the updates above, especialy video card, required a higher power supply.  I replaced the original 300W with a 650W unit.

    (E) the M8407C system comes with a slot to accept a "HP Personal Media Drive" unit.  Recently, I received an email from Best Buy, which featured a HP Personal Media Drive unites 750 GB on sale for CAD$ 110.  Sold. Removable data backup unit.

    To summarize, for a total investment of just under $ 1100, I created a Quad Core, 8 GB ram, disk hard system of 2.4 to pushing the 2 monitors.  The goal was to build a system capable of modeling 3D and animation for cheaper than buying the parts off the shelf.  I saved CAD $700 and have spare parts to help build a render region.

    Message edited by James on 10/04/2009 14:25

Maybe you are looking for

  • HP TouchSmart tm2 2200: no network card driver

    I did a clean install of Windows 7. Now, I have no drivers for my network and impossible to connect online someone please help.

  • Mac Pro 2009 (5.1) 2 x 3, 46 / 970gtx and 4 k monitor 60 Hz?

    I spent days trying to find an answer to this... My config yourself running a 4 k display at 60 Hz? El Capitan is restrictive for this? Mac Pro 2009 (5.1) 2 x 6 carrots 3, 46Ghz Graphics card: GTX 970 MSI - 2.0 HDMI / Display Port 1.3 Thank you in ad

  • LabVIEW Robotics hands-on

    I recently started work on DaNI 1.0 Act LabView Robotics Hands-it is available in the Robotics 101 Resource Kit. I'm stuck at step 11 of exercise 2: Introduction to the LabView environment development. It says select Bitfile and navigate to this path

  • Upgrade the video card in Pavilion HPE 380t

    Hello I want to upgrade the video card in my HPE 380 t, currently it has geforce gtx 260, I want to install a geforce gtx 560 ti or 570. I have 2 problems with the viability of this. 1. space. and 2. Food. Has anyone successfully completed a similar

  • CAN MAKE THE IMAGE OF ITS SHARE IN A LIBRARY

    IN MY PROJECT, I WANT TO MAKE AN IMAGE OF SMALL PIECES OF PARTS OF THE IMAGE. I JOINED THE LIBRARY FILE WITH THE SMALL PARTS OF THE IMAGE AND THE ENLARGED IMAGE WISHING TO MAKE ON TOP OF PARTS OF IMAGAES. NY IFA CAN HELP ME ITS REALLY USEFUL... A THA