Suchergebnisse

Suchergebnisse 1-6 von insgesamt 6.

  • Benutzer-Avatarbild

    Image-Array wie behandeln?

    Gonger96 - - Sonstige Problemstellungen

    Beitrag

    Theoretisch sollte Dispose sogar automatisch aufgerufen werden, aber je früher man das selbst tut, desto eher wird der Speicher wieder freigegeben. Wann der GC das erledigen würde, weiß nur er.

  • Benutzer-Avatarbild

    Image-Array wie behandeln?

    Gonger96 - - Sonstige Problemstellungen

    Beitrag

    Nö, wenn IDisposeable richtig implementiert ist, wird .Dispose() im Finalizer aufgerufen, falls IsDisposed != true. Der Finalizer wird entsprechend vom GC aufgerufen.

  • Benutzer-Avatarbild

    Image-Array wie behandeln?

    Gonger96 - - Sonstige Problemstellungen

    Beitrag

    Schmeiß mal Image durch'n Decompiler. Da steht: C#-Quellcode (4 Zeilen) bzw. C#-Quellcode (21 Zeilen) Habs auch selbst ausprobiert, das Bild wird 100%tig freigegeben. So können keine Memoryleaks entstehen. Das Problem an der Sache ist, du weißt nicht wann der GC es freigibt (spätestens nach Programmende halt). Da man im Normalfall Sachen wie Dateien etc schnellstmöglich freigeben will, ruft man Dispose() manuell auf.

  • Benutzer-Avatarbild

    Image-Array wie behandeln?

    Gonger96 - - Sonstige Problemstellungen

    Beitrag

    Zitat von Gonger96: „Das Problem an der Sache ist, du weißt nicht wann der GC es freigibt“ Zu dem Zeitpunkt gibt er es anscheinend noch nicht frei Aber wie gesagt spätestens nach Programmende wird es freigegeben, da der GC den Finalzer aufruft. Kannst ja selber in die Source gucken

  • Benutzer-Avatarbild

    Image-Array wie behandeln?

    Gonger96 - - Sonstige Problemstellungen

    Beitrag

    Sie wird trotzdem freigegeben. Wann das geschieht und ob's praktikabel ist, ist ne andere Frage. Es ist aber Fakt. Ich muss Dispose nicht aufrufen, allerdings kann ich es, falls ich Resourcen zu einem bestimmten Zeitpunkt freigeben will. Wenn die Instanz des Interfaces nicht mehr gebraucht wird, dann sollte man das auch tun. Nötig ists aber nicht.

  • Benutzer-Avatarbild

    Image-Array wie behandeln?

    Gonger96 - - Sonstige Problemstellungen

    Beitrag

    Man hat IDisposable nur eingeführt, weil .Net keine Stacksemantics hat. So kann man direkt ohne den GC zu belästigen unverwalteten Speicher freigeben. Am Ende wird er aber so oder so freigegeben ob man nun disposed oder nicht.