Memory Optmization in Swing

Am currently working in a project in which Server intiates the Clients application[Swing] and keeps track of the application.For a single client it consumes some 20MB memory.For more than 200 client it consumes 20Mb*200 & More memory .Is there any way by which i can optimize the memory consumption in Java?.
Note : I tried calling the swing from a JSP.But even that failed.
Any body has the answer ?

20mb per client is indeed a lot. This can only mean your application stores a lot of objects which take that much memory. It could be that you are generating "memory leaks", as in objects which you create but are always referenced so the garbage collector doesn't free them.

Similar Messages

  • Memory leakage in Swing application using hash table to retrive data

    Hi I have developed one application using swing , I am using hashtable to retrieve data from database . but that cause me problem my size of application increases automatically for every click in the application.I think memory leakage is there.
    would anybody help me to remove this error

    Hi I have developed one application using swing , I am using hashtable to retrieve data from database . but that cause me problem my size of application increases automatically for every click in the application.I think memory leakage is there.
    would anybody help me to remove this error

  • Memory leakage with swing

    We have developed a applet using swing componenets . We have used dispose, callled gc() and made references null and removed the listeners to enable the components for garbage collection. We have used windows NT. When we see the task manager the memory usage only increases as we work on the applet. When we minimize the browser and maximise it again then the extra memory is releaased but as long as we work on the browser though we have done lot of things the memory usage in task manager only increases. Can you help us out. What are the reason for memory leakage . Why the memory is not released by the jvm to OS. Is it designed that way. What are the precautions to take. We use JDK1.2 for developing and run the applet with the jre1.2 and jre1.3 plug in installed on the windows nt system
    Thanks in advance

    Hi there
    This topic has been discussed several times before
    Basicly this is it
    The GC knows it is sluggish (well those who built it any whay)
    therefor it will not clean up until it is necessary
    therefor your memory for the JAVA app will grow in
    memory size (as long as there is more room why clean?)
    When you start/close another program the OS will
    demand more memory and the GC will run cleanup. How effective this cleanup realy is
    depends on the situation.
    To make things easier for the GC you should as you state
    clean all referenses etc
    If you whant to start another memory consuming program
    you should start it before the Java App. then the memory that is available for the Java VM is limmited.
    There are also whays to set the maximum / minimum memory for the Java VM
    Markus

  • Out of memory in java swing application

    Hi,
    I am continously getting out of memory in my java application. I collected the java heap dump and found major memory chunk ( >90%) of total java heap is taken by some "class [I", which is array of 'Inetger' objects and sometimes by "class [S", which is array of 'Short' objects.
    Elements of these arrays are referred by:
    java.awt.image.DataBufferUShort and
    sun.awt.image.ShortInterleavedRaster
    and these are consuming major memory chunks.
    Has anyone observed this kind of problem?
    I am not able to proceed in my analysis and kind of struck at these Integer and Short arrays. Please help.
    Thanks
    Charanjeet                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    Sounds like you're retaining a lot of image resources - make sure you're doing the following:
    1. flush()ing images once you've used them
    2. not retaining references you no longer need
    3. not creating duplicate Image objects where not required
    4. not creating Image objects which are never needed, or creating a huge pile of images at once when they are not all required at the same time

  • Memory leak with Swing application

    My application uses more and more memory as I use it. However, if it is working like I think, it is not creating more objects and has no reason to use more memory. When the application is minimized a lot of that memory is freed up. Does anyone know what is the cause of this? I have a sneaking suspicion that it is somehow related to my swingworkers. Also, if it is an error with my code how do I use the netbeans profiler to find the cause? I have just used the profiler for the first time - all I really can tell is that it seems to consume more and more memory.

    To answer a comment earlier in this thread, of course
    the jvm is doing garbage collection - that's the way
    java works. Nobody said otherwise. What was said was that the JVM doesn't necessarily release the memory. Just because the object has been collected doesn't mean the JVM is going to give it back to the OS.
    As I understand, when you do System.gc()
    this is apparently just a hint to the jvm to do
    garbage collection. To quote the api:
    "Calling the gc method suggests that the Java
    Virtual Machine expend effort toward recycling
    unused objects in order to make the memory they
    currently occupy available for quick reuse."Which is irrelevant. Furthermore, this thread is almost a year old.

  • Memory Leak in Swing.

    Hi!
    I have Real time application(JDK1.3). After each 30 sec it brings data from backend &puts into JTable.
    But it works only for 6 to 8 hours. After that it gives error
    in JVM.dll.
    I'm using 3 threads. Main code is something like this.
    public class Main extends Thread{
    public void run(){
    while(true)
    try{
    Testtable.Update();
    Thread.sleep(30000);
    }catch(InterruptedException e)
    { System.out.println("error occured");}
    TestTable is a public class which extends AbstractTableModel. This is a inner class of Main class.
    I have checked memory usage of java.exe. It increases
    usage after sometime.
    How to detect memory leak? Do have to do changes in my code? "vector" usage is more in this program.
    Thanks,
    Sujata.

    Hi,
    For cellrendering I have following code.
    public class MultiLineHeaderRenderer extends JList implements TableCellRenderer{
    public MultiLineHeaderRenderer() {
    try{
    setOpaque(true);
    setForeground(UIManager.getColor("TableHeader.foreground"));
    setBackground(UIManager.getColor("TableHeader.background"));
    setBorder(UIManager.getBorder("TableHeader.cellBorder"));
    ListCellRenderer renderer = getCellRenderer();
    ((JLabel)renderer).setHorizontalAlignment(JLabel.CENTER);
    setCellRenderer(renderer);
    }catch ( Exception err){
    TeCILog.logTrace( this, "Failed to construct MultiLineHeaderRenderer." );
    TeCILog.logError( this, err );
    public Component getTableCellRendererComponent(JTable table, Object value,boolean isSelected, boolean hasFocus, int row, int column)
    setFont(table.getFont());
    String str = (value == null) ? "" : value.toString();
    BufferedReader br = new BufferedReader(new StringReader(str));
    String line;
    Vector v = new Vector();
    try {
    while ((line = br.readLine()) != null)
    v.addElement(line);
    br.close();
    }catch (IOException ex) {
    ex.printStackTrace();
    } catch(Exception err){
    System.out.println("error" + err );
    setListData(v);
    return this;
    private ListCellRenderer renderer = null;
    Does this is causing leakage?
    Sujata

  • Help: Design Issues in Swing

    Hi Friends
    I developed an application in swings way back in 2000-01. However then there were serious issues of Memory leakage with Swings. Hence the strategy we adopted was to use a cache of Swing components rather than creating new objects everytime.
    Now again in 2004, i am back to swings.
    Now are there still issues with the swings?
    What are the other things, we need to keep in mind during the design?
    I heard that listeners create problem with the components since component get registered with the Listeners and are not able to get released.
    And there are problems of lot of internal objects being created.. Is this true.. if yes.. how do we tackle the problem??

    hi,
    I'm using swing in some programs of my own, and I've not experienced any serious problems yet.
    Some points need to be mentioned however:
    - Instantiating heavyweight components (such as JFileChooser) tends to be slow, try instantiating only one JFileChooser for your application and reuse it by just hiding/showing it.
    - Most programs instantiate all their components (visible and invisible) at startup. This slows down the startup time and the performance feeling of your program. Try using lazy-instantiation (do not initialise the component at the beginning but only initialise the component when it is called upon for the first time). Some more specific instantiation-schemes can be used, for instance for image- or sound-loading.
    Of course the splash-screen with small animations tends to ease the pain to wait for the user.
    - caching can also be used to improve performance, but here I think you should always first measure the performance of the component to be cached (using a profiler). Using a cache on a well performing object might also reduce it's performance.
    To reduce the memory-footprint of the cache, you could combine it with the lazy-instantiation and perhaps even use WeakReferences to hold this objects in order not to let the cache be a memory-bottleneck.
    This can be especially useful when using large quantities of equal objects (what also happens for String) or when using a decent amount of very memory-consuming objects such as images.
    Normally (for the remaining optimization) it is adviced to not optimize while programming, and only start to optimize for performance and memory usage when problems show up. For doing this you should use some serious profiler, instead of blindly optimizing what seems slow.
    Also try reading the book about java performance which can be found using the link below:
    http://java.sun.com/docs/books/performance/1st_edition/html/JPTOC.fm.html
    This book gives many of the advices I've given above and explains the total process of performance-tuning. Another advantage of this book is that it uses Swing as an example for it's optimizations, and that the author has cooperated in programming (parts of) Swing.
    Kind regards,
    Koen

  • Issue viewing Swing components

    I currently am able to compile, but not view Swing components. I am running Windows Media Center Edition with Radeon X300 graphics card. Swing programs execute but I only see the border window with only grey content inside. I have 1gb of memory and have tried running very small applications with the same effect. Does Java not support my OS? Any ideas?

    Some sample code follows that doesn't work for me
    At odd times I can see some of the swing applications I try to run, but it isn't consistent. This makes me think it is a memory problem, but I'm not sure. The following application takes 19,040 K with 373688 K available physical memory.
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class DefaultButton {
    public static void main(String args[]) {
    Runnable runner = new Runnable() {
    public void run() {
    JFrame frame = new JFrame("DefaultButton");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLayout(new GridLayout(2, 2, 10, 10));
    JButton button1 = new JButton("Text Button");
    button1.setMnemonic(KeyEvent.VK_B);
    frame.add(button1);
    Icon warnIcon = new ImageIcon("Warn.gif");
    JButton button2 = new JButton(warnIcon);
    frame.add(button2);
    JButton button3 = new JButton("Warning", warnIcon);
    frame.add(button3);
    String htmlButton = "<html><sup>HTML</sup> <sub><em>Button</em></sub><br>" +
    "<font color=\"#FF0080\"><u>Multi-line</u></font>";
    JButton button4 = new JButton(htmlButton);
    frame.add(button4);
    JRootPane rootPane = frame.getRootPane();
    rootPane.setDefaultButton(button2);
    frame.setSize(300, 200);
    frame.setVisible(true);
    EventQueue.invokeLater(runner);
    }

  • Thread execution causes Swing GUI to become unpresponsive

    Hello, I'm trying to refresh my memory of multithreaded Swing applications and have run into a wall. I have my main class, SimpleGUI, which creates the GUI interface and instantiates SimplePB and starts the SimplePB thread. The problem is that the SimpleGUI main class, which has a button to start the SimplePB thread so that a progress bar is updated, will result in a unresponsive GUI when the button is clicked. The button action code follows:
    public void actionPerformed(ActionEvent ae)
              System.out.println("Got action! "+ae);
              if(ae.getActionCommand().equals("Start")) {
              jb.setEnabled(false);
              spbt.run();
         }Do I need to do the Swing interface in a multithreaded manner as well? If so, how? If not, what am I doing wrong? Any pointers are greatly appreciated, thanks.

    sbpt.run();sbpt.start();
    At the moment you're not doing 'thread execution' at all, you are just running its code inline in the AWT thread, which freezes the GUI, which is why you needed the thread in the first place.

  • Problem: memory leak ?

    Hello,
    I've created a swing program with internalframes. each internalframes has many objects
    and uses a lot of memory. Each time a frame is closed i call disopse on it and i am 'sure'
    that there are no more references to the internalframe.
    So logically, i can open lots of iframes and close them all. The the memory usage bij java.exe
    shoudl be teh same. But that is not the case. I saw garbage collects only frees memmory to
    the JVM. But how do i know whether the objects are freed or not.
    Should'nt the memory usage decrease when i close all the opened iframes????
    The question: How do i know for sure if i do not have any references to an iframe so that the iframe can be collected by the garbage collector? The memory of the program keeps growing and growing if i open 10 frames, close all the frames and then do that all over again.
    Help me!

    Hi,
    we had major problems with Swing components leaking memory.
    Since Swing components have internal references to the child components, one container could
    be leaking lots of memory.
    NB : you must explicitely remove all listeners too, action listeners, mouse listeners etc.
    Below is a very handy piece of code I wrote to explicitely remove all child components from an initial container. It's depth first recursive, and it certainly done wonders for us.
    regards,
    Owen
    import java.awt.Container;
    import java.awt.Component;
    import javax.swing.RootPaneContainer;
    public class ComponentCleaner
        public static void cleanComponent(Component baseComponent)
            try
                cleanComponent(baseComponent, 0);
            catch ( Exception ignore )
                // give some exception handling...
        * The "depth" parameter was being used for text output debugging.
        * But isn't essential now.  I'll keep it anyways, as it avoids
        * calling the garbage collector every recursion.
        protected static void cleanComponent(Component baseComponent,
                                             int depth)
            if (baseComponent == null) // recursion terminating clause
                return ;
            Container cont;
            Component[] childComponents;
            int numChildren;
            // clean up component containers
            if(baseComponent instanceof Container)
                // now clean up container instance variables
                if(baseComponent instanceof RootPaneContainer)
                { // Swing specialised container
                    cont = (Container)baseComponent;
                    numChildren = cont.getComponentCount();
                    childComponents = cont.getComponents();
                    for(int i = 0;i < numChildren;i++)
                        // remove each component from the current container
                        // each child component may be a container itself
                        cleanComponent(childComponents, depth + 1);
    ((RootPaneContainer)cont).getContentPane().remove(childComponents[i]);
    ((RootPaneContainer)cont).getContentPane().setLayout(null);
    else
    { // General Swing, and AWT, Containers
    cont = (Container)baseComponent;
    numChildren = cont.getComponentCount();
    childComponents = cont.getComponents();
    for(int i = 0;i < numChildren;i++) //for(int i = 0;i < numChildren;i++)
    // remove each component from the current container
    // each child component may be a container itself
    cleanComponent(childComponents[i], depth + 1);
    cont.remove(childComponents[i]);
    cont.setLayout(null);
    } // if component is also a container

  • How do I flush sun.swing.CachedPainter?

    In my applet, I populate a very large JTextArea. It gets opened in a JTabbedPane. When the user closes the tab, I remove the JTextArea.
    BUT... After removing it, I get a huge lingering object in memory called sun.swing.CachedPainter.
    Here is pic of lingering object taken in YourKit:
    <img src="http://www.printdesktop.com/Oracle/CachedPainter.gif">
    After about 10 minutes, the memory gets cleared; forcing garbage collection myself does not clear the memory. Somehow the cache is flushed without programmer intervention. I would like to forcefully flush the cache if possible.
    Edited by: ForceRs on Feb 6, 2013 4:18 PM - Trying to get image to show inline...

    No out-of-memory from it. It just looks odd to close all tabs in the our application and still be using over 67 MB of storage -- even after the user clicks the manual GC button I show on the Java Memory Widget. Our customer support gets calls about this, and then I have to look into it. And what I found the cause to be is this lingering storage issue.
    As a developer, I am not worried about it. I thought if I could get it cleaned up, I wouldn't have to re-investigate this at a later date. I tried a lot of things to "tickle" the CachedPainter into dropping the 67MB of text its holding onto, but after 12 minutes, it does disappear on its own.

  • VM life cycle

    Is there any restrictions about mantain the VM running indefinitely ??
    I'm using a java client 24hs/day... Is there any known problem with VM permanent usage ??

    really ? memory leak in Swing ? ugh ! :(
    It may be a big trap from the SUN ....
    my system is Model-View based.. the kernel (the code which really makes the work) is interface independent..
    if the user interface (a GUI or a simple Text mode) fails, the system simply ignore it and continues working ....
    In fact a good Java application should have this behaviour.. the user interface can�t halt the system (unless the user interference is part of the system behaviour...of course...)

  • Using Java 1.2.2 w/ JDeveloper 2.0

    I have had to upgrade to 1.2.2 in order to fix a memory leak in
    Swing. I can no longer debug b/c the JDeveloper version I have
    only supports debugging up to 1.2.1. I get the following
    message...
    Cannot debug project with Target JDK 'java version "1.2.2"',
    can only debug with Target JDK 'java
    version "JDK1.2_JDeveloper"'.
    Is there any way to restore debugging funcionality (plugin, etc)
    or do I wait for a new version of JDeveloper?
    null

    Hi
    You would loose debugging functionlity with other JDK's. Oracle
    JDeveloper 3.0 has support for 1.1.8 and 1.2.2 and will be
    available around end of November.
    regards
    raghu
    Clark Hogan (guest) wrote:
    : I have had to upgrade to 1.2.2 in order to fix a memory leak in
    : Swing. I can no longer debug b/c the JDeveloper version I have
    : only supports debugging up to 1.2.1. I get the following
    : message...
    : Cannot debug project with Target JDK 'java version "1.2.2"',
    : can only debug with Target JDK 'java
    : version "JDK1.2_JDeveloper"'.
    : Is there any way to restore debugging funcionality (plugin,
    etc)
    : or do I wait for a new version of JDeveloper?
    null

  • Stringtokenizer, swing and memory

    i lately found that the stringtokenizer eats up lots of memory, i tried to set vars to null and called sys gc quite often but they didnt seem to be of much help.
    ok, here is what i was doing: i read in a quite a big txt file, about 400k lines, and then parsed each line using stringtokenizer, everything happened in while loops, lots of objects but all small ones. i had to xmx lots of memories to it in order to run it. and it became much worse when i put it into multi threaded swing app. if you are a swing expert, or stringtokenizer expert, please shed some light.

    Dang it! Sun zapped a bunch of posts!
    Anyway, here again is a sample pgm posted earlier (which got zapped) showing some of the benefits of the finally block, for which the idiot daFei could not come up with an intelligent answer to refute it (he STILL has a beef with the finally block, claiming it is only "syntactic sugar", and still moronically implies that all methods must handle all exceptions, which is absurd in that no exceptions could ever be THROWN then!)
    import java.io.File;
    import java.io.IOException;
    class SillyQuestionException extends Exception {
      public SillyQuestionException() {
        super("That's a silly question.  Of course!");
    class Guru {
       * Responds to a question/statement.  A temporary file is created
       * during execution, and deleted upon return (unless daFei dorks
       * with the implementation!)
       * @param request the question/statement for Guru to respond to
       * @return the Guru's response
       * @throws SillyQuestionException if the Guru determines you're
       * asking a silly question,
       * to which the answer should be obviously YES
      public static String respond(String request)
        throws SillyQuestionException {
        File f = new File("daFei.is.an.idiot");
        try {
          System.out.println("  Guru is thinking...");
          f.createNewFile();
          // let's just assume we needed to write stuff to this file in
          // order to process the request...
          // now the actual end of processing
          if ("is daFei an idiot".equals(request))
            throw new SillyQuestionException();
        catch (IOException e) {
          System.out.println("Error occurred creating/writing to " +
            "temp file, but graceful recovery is possible");
          e.printStackTrace();
          return "I'll have to get back to you on that one.  " +
            "Ask me again later.";
        finally {
          // this is NECESSARY to GUARANTEE deletion of the temp file,
          // otherwise this statement would have to be duplicated at all
          // possible return points.
          System.out.println("  Guru has processed your request...");
          if (f != null)
            f.delete();
        System.out.println("  will this get printed EVERY time?  " +
          "NO IT WILL NOT!");
        return "daFei has fish turds in his brain";
    public class Demo {
      public static void main(String[] args) {
        String[] questions = {
          "what statement best describes daFei",
          "what kind of turds does daFei have in his brain",
          "is daFei an idiot",
          "won't get to this question"
        try {
          for (int i = 0; i < questions.length; ++i) {
            System.out.println("Question: " + questions);
    System.out.println("Response: " + Guru.respond(questions[i]));
    catch (SillyQuestionException e) {
    System.out.println("I have finally asked the Guru a silly " +
    "question, and will stop now");
    System.out.println("Here's what Guru had to say to the last " +
    "question: " + e);

  • URGENT:problem with memory using swing component

    We use Java SDK 1.4.0-b92 on a Sun Blade Machine with Solaris 8 Operating System.
    We developed a software with a GUI (JFame, JInternalFrame) which have to be refreshed in precise moments and any time we do it there is a big loss of memory(not the Java Virtual Machine Memory but the system memory, see it with the command "vmstat"). It seems that memory isn't released even if we close one or more of the JInternalFrame/JFrame.
    This is a part of our example code which refresh some JTextArea every ten seconds,with the content of a text File called "text.txt" :
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.border.*;
    import java.util.*;
    public class MainFrame extends JFrame {
    static JDesktopPane desktop = new JDesktopPane();
    JMenuBar menuBar = new JMenuBar();
    JMenu menu = new JMenu();
    JMenuItem aggiungi = new JMenuItem();
    int openFrameCount = 0;
    public MainFrame (){
    try{
    desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
    desktop.setBorder(BorderFactory.createLoweredBevelBorder());
    this.setContentPane(desktop);
    Dimension screenSize= Toolkit.getDefaultToolkit().getScreenSize();
    this.setBounds(0, 0, screenSize.width, screenSize.height);
    this.setTitle("Main Frame Prova");
    this.setLocation(0,0);
    this.setVisible(true);
    menu.setText("apri frame");
    aggiungi.setText("Apri");
    aggiungi.addActionListener(new ActionListener () {
    public void actionPerformed(ActionEvent e){
    createFrame();
    menu.add(aggiungi);
    menuBar.add(menu);
    this.setJMenuBar(menuBar);
    catch (Exception e) {e.printStackTrace();}
    private void createFrame (){
    try{
    NsJInternalFrame frame = new NsJInternalFrame("Frame Interno", true, true, true, true);
    openFrameCount++;
    System.out.println("Frame aperti: "+openFrameCount);
    frame.setVisible(true);
    desktop.add(frame);
    frame.setSelected(true);
    frame.setPreferredSize(new Dimension(400,500));
    frame.setSize(new Dimension(400,500));
    finalize();
    catch (Exception e) {e.printStackTrace();}
    catch (Throwable t) {t.printStackTrace();}
    protected void processWindowEvent (WindowEvent e){
    try{
    super.processWindowEvent(e);
    if (e.getID()== WindowEvent.WINDOW_CLOSING) {
    finalize();
    System.exit(0);
    catch (Exception ex) {ex.printStackTrace();}
    catch (Throwable t) {t.printStackTrace();}
    public static void main (String argv[]){
    try {
    UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
    MainFrame mf = new MainFrame();
    while (true){
    Thread.sleep(10000);
    aggiornaTesto();
    Runtime run = Runtime.getRuntime();
    System.out.println("***********************************************************");
    System.out.println("* Memoria Totale "+run.totalMemory()/1000+" *");
    System.out.println("* Memoria Massima occupabile "+run.maxMemory()/1000+" *");
    System.out.println("* *");
    System.out.println("* --------------------------------------------------------- *");
    System.out.println("* *");
    System.out.println("* Memoria Libera "+run.freeMemory()/1000+" *");
    System.out.println("* *");
    System.out.println("***********************************************************");
    System.runFinalization();
    System.gc();
    catch (Exception e) {e.printStackTrace();}
    private static void aggiornaTesto(){
    JInternalFrame[] frameAperti = desktop.getAllFrames();
    for (int i=0; i<frameAperti.length; i++)
    ((NsJInternalFrame)frameAperti).inizializeText();
    System.out.println("----- "+new Date()+" / Aggiornato testo------");
    System.runFinalization();
    System.gc();
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.border.*;
    import java.io.*;
    public class NsJInternalFrame extends JInternalFrame {
    JTextArea textArea=new JTextArea();
    public NsJInternalFrame (String title, boolean resizable, boolean closeable, boolean maximizable, boolean iconifiable){
    super (title, resizable, closeable, maximizable, iconifiable);
    disableEvents (AWTEvent.WINDOW_EVENT_MASK);
    JScrollPane scroll;
    scroll=new JScrollPane(textArea);
    this.setContentPane(scroll);
    this.setDefaultCloseOperation(JInternalFrame.DISPOSE_ON_CLOSE);
    inizializeText();
    public void inizializeText(){
    try{
    RandomAccessFile raf = new RandomAccessFile("text.txt", "r");
    String text = new String(), line = new String();
    while (true) {
    line = raf.readLine();
    if (line==null) break;
    text= text+line;
    textArea.setText(text);
    finalize();
    raf.close();
    catch (Exception e) {e.printStackTrace();}
    catch (Throwable t) {t.printStackTrace();}
    public void dispose (){
    try{
    finalize();
    super.dispose();
    catch (Exception e) {e.printStackTrace();}
    catch (Throwable t) {t.printStackTrace();}
    text.txt
    HELLO HELLO HELLO
    Help Us Please!!
    [email protected]
    [email protected]

    Yes I'm still following the thread.
    Like i said i only have ovi maps running with PhoNetInfo and even today i tested it again. I managed by changing some settings to get 50MB of free RAM when the phone is idle.
    I changed the amount of allowed RAM to be used by ovi maps to the minimum (10%). This time i had 40MB of free ram before calculating the root (again more or less 600km) without tolls and the fastest root. i continued with PhoNetInfo on and following the value of free RAM and they kept falling till i get again the low memory error.
    I tried then a "solution" that i got from nokia that stated to change the configuration of the internet to online, and it worked perfectly. But i don't think this is a solution since i can't have my phone always connected to the internet. I don't know is where i can suggest that nokia try to solve this problem but already sent an email to the client support stating this.
    I don't think i can install a later version of ovimaps since it comes pre-installed on the phone and i don't see where i can uninstall it and where to find the earlier versions.
    But thanks for the reply,

Maybe you are looking for

  • Can't get click event to load from ImageButton

    *Newbie Alert* I am trying to create dynamic image buttons that when clicked will redirect to anothr page as well as add a new item to a SharePoint list. My Image buttons create sucessfully but the click event is not loaded. I have added a break poin

  • What would get me to buy an iPad

    Being able to use the iPad as a second Monitor with my Macbook. I know there are a few apps that allow this through screen sharing over wifi, but that is kludgy, requires infrastructure, and is slow. I am talking about a display port connection to th

  • Oracle Express Limitation

    Good day As specified in the documentation Oracle Express offers the following space storage limitations. To clarify what defines the storage space, can you please answer the questions below. Here are the four limitation as specified in the Oracle Ex

  • Encore CS3 subtitles won't default to "off"

    I'm using Encore CS3, and have a couple of subtitle tracks, but want the default to be "subtitle off" and despite my setting the disk build properties to "Subtitle: Off", the disk, when created (and even in the Encore preview windows), the subtitle a

  • Get mail message count

    I have set up Mail with my GMail account and am trying to pull down messages. Every time I click "Get Mail", it only pulls down about 8-12 messages. Is there a way to say "Get ALL Mail" instead of having to hit this button repeatedly? If not, is ther