I have experienced the following problem.
The application I have developed works fine on a sonyerricson w800i but gives outofmemory on a nokia 6131
The se800 reports 1048572 bytes available memory (1mb)
The nokia 6131 reports 2097152 bytes available memory (2mb)
For debugging purposed I do a System.gc() and report free memory, on average the se800 has 77% free whereas the nokia starts with 55% free and it degrades quickly.
Its the same application and code so does this mean the nokia has a problem? It is my code that is at fault?
When I first encountered outOfMemory exception I followed some guidelines removing any inner classes dereferencing object by obj = null and making sure I close streams etc, this helped with general memory consumption. I tested it with the emulator limiting memory to 400k and I have an average of 20% free.
I suspected the screensize to play a role as I paint the canvas manually but on the emulator I use the defaultcolorphone which has a larger screen than the nokia.
Where could the problem lie?