Ich bekomme OutOfMemoryException
in einer J2ME-Anwendung.OutOfMemoryError in j2me-Anwendung
Wie kann ich herausfinden, was diesen Fehler verursacht? Und wie kann man diesen Fehler vermeiden?
Ich mache eine HTTP-Anfrage. Während die Anfrage nicht abgeschlossen ist, zeigt der Bildschirm ein Ladebild (wie ein Browser zeigt, wenn eine Seite geladen wird). Dies wurde getan, indem ein Bild erstellt und der Bildschirm neu gezeichnet wurde. > Neuzeichnen - -
image 1 erstellen> Neuzeichnen - -> Bild erstellen 2-> repaint-> Bild 3 erstellen> erstellen Bild 1-> neu gezeichnet ->.
Ich bemerkte (mit wtk Speichermonitor), dass dies zu viel Speicher verbrauchte, die nicht Müll gesammelt wurde.
Dann habe ich versucht, eine Klasse zu erstellen, die Art von Pool von Bildern ist. Diese Klasse erstellt alle Bilder und zeigt sie dann an.
erstellen Bild 1 -> erstellen Bild 2-> erstellen Bild 3 -> Neuzeichnen -> Neuzeichnen -> Neuzeichnen -> Neuzeichnen -> Neuzeichnen ->.
Dieses zweite Szenario scheint nicht so viel Speicherplatz zu verbrauchen wie der erste. (mit wtk Speichermonitor).
Aber ich denke, (nicht sicher, ob dies ist) jene beiden Ansätze tragen diese OutOfMemoryException
zu verursachen.
Führen Sie es in einem Debugger aus? –
Ich renne in das Gerät. Wenn ich einen Emulator benutze, erhalte ich diesen Fehler nicht. –
Welche IDE verwenden Sie, wenn welche? Es kann einen Profiler haben, den Sie verwenden können, um zu finden, was so viel Speicher verbraucht. – kwatford