BMax Speicher manuell freigeben

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Trust

Betreff: BMax Speicher manuell freigeben

BeitragSa, Mai 19, 2012 23:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie gibt man in BMax am besten selber Speicher frei?

Zb. ich habe ein Objekt einer Basis- Klasse, und diese hat als Eigenschaften wieder eine Menge Objekte anderer Klassen.
Nun möchte ich das Objekt der BasisKlasse manuell löschen und freigeben (und somit auch alle mit diesem Objekt verknüpften Objekte).

Habe der Basisklasse eine Methode gegeben:
BlitzMax: [AUSKLAPPEN]

Method Destroy(handle:BaseType Var)
handle = Null
GCCollect()
End Method


Anscheinend gibt der GarbageCollector von BMax ja alles nicht referenzierte frei...
nur bin ich mir nicht ganz sicher ob das so auch tatsächlich den gesammten Speicher freigibt.
Könnte mich da jemand aufklären?
Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.

Propellator

BeitragSo, Mai 20, 2012 0:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
der GC sollte eigentlich alles für dich erledigen.
Falls du doch selbst herumschrauben willst, siehe dazu auch in der BlitzMax-Hilfe Language->Advanced topics->Memory management
In den meisten Fällen besteht dafür aber kein Bedarf.
Propellator - Alles andere ist irrelephant.
Elefanten sind die Könige der Antarktis.
  • Zuletzt bearbeitet von Propellator am So, Mai 20, 2012 18:20, insgesamt einmal bearbeitet

Holzchopf

Meisterpacker

BeitragSo, Mai 20, 2012 16:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist es nicht so, dass manchmal ein doppelter GCCollect()-Aufruf erst richtig hilft?
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

BladeRunner

Moderator

BeitragSo, Mai 20, 2012 18:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Mal im Ernst, ein Objekt mit vielen Verweisen auf andere Objekte mag sa seinen Speicher brauchen, aber wenn es gravierend wäre würde der GC das durchaus raschestmöglich entsorgen. Propellator hat da schon recht- wenn nicht grade massive Probleme auftauchen sollte der GC genug sein.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group