Wie Sie Speicherplatz in android
Muss ich frei unten Zeiger, wie Sie Speicherplatz für Leinwand, Farbe und matrix?
Canvas pcanvas = new Canvas();
Paint mPaint = new Paint();
Matrix matrix = new Matrix();
Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Java keine Zeiger und Sie können nicht explizit Speicher freigeben.
Allerdings ist es möglich,Speicherleck in Java und Android. Wenn alle Ihre Objekte verweisen auf nicht verwalteten Speicher, die Sie brauchen, um Sie wissen zu lassen, wenn Sie Sie freigeben können, dass der Speicher.
Weil es scheint, dass Sie tun, Grafiken arbeiten, Schätze ich, dass Sie die Verwendung von Bitmaps irgendwo und diese verwenden eine Menge Speicher, und der Speicher freigegeben werden muß. Wenn du fertig bist mit eine bitmap, stellen Sie sicher, Sie rufen
Bitmap.recycle()
.nachdem Sie nicht mehr die Verweise auf das Objekt, das Sie erstellt haben, weisen Sie Ihr den Wert null. Dass natürlich sich nicht sofort löst die Erinnerung, aber int auf diese Weise sagen Sie zu der GC, dass das Objekt bei der Speicherbereinigung (garbage collection.. (effective java).
Edit: wie @spatulamania gesagt, wenn Sie die Verwaltung von bitmap-Sie müssen rufen Sie den Papierkorb (es Aufruf einer c/c++, kostenlos, denke ich) - Methode, um freien Speicher zugeordnet. Auf null gesetzt, ein bitmap-Referenz ist nicht sinnvoll, da die bitmap native implementiert und das java-Objekt ist nur wenige bytes.