Koti kehitys Mitä hävittää? - määritelmä techopediasta

Mitä hävittää? - määritelmä techopediasta

Sisällysluettelo:

Anonim

Määritelmä - mitä Dispose tarkoittaa?

C #: n yhteydessä dispose on esinemenetelmä, jota kutsutaan suorittamaan muistin puhdistamiseen tarvittava koodi ja vapauttamaan ja palauttamaan hallitsemattomat resurssit, kuten tiedostokahvat ja tietokantayhteydet. Dispose parantaa suorituskykyä ja optimoi muistia vapauttamalla hallitsemattomia objekteja ja niukkoja resursseja, kuten Graphics Device Interface (GDI) -kahvoja, joita käytetään sovelluksissa, joissa Windows-tila on rajoitettu.


Henkilökohtaisen käyttöliittymän tarjoama hävitysmenetelmä toteuttaa hävityspuhelut. Hävitysmalli on suunniteltu oikea-aikaiseen ja ennustettavaan puhdistukseen, väliaikaisten muistivuotojen estämiseen ja resurssien hävittämiseen.

Techopedia selittää hävittää

.NET-kehys helpottaa roskien keräämistä (GC), hallitsee objektimuistia ja resursseja ja palauttaa kelpaamattomat objektimuistiviitteet ottamalla käyttöön viimeistely - ei-deterministinen menetelmä. Hävitysmenetelmä hallitsee objektimuistin esiintymien elinkaarta ja tarjoaa nimenomaisen muistin puhdistamisen hallinnan verrattuna viimeistellä implisiittisen muistin puhdistuksen. Hävittämiseen voidaan vedota jopa silloin, kun muita muistiobjektiesimerkkejä on, kun taas Viimeistelyyn voidaan vedota vasta viimeisen muistiobjektin tuhoamisen jälkeen.


Hävitysmenetelmän säännöt ovat seuraavat:

  • Käytetään hallitsemattomiin resursseihin, jotka vaativat välittömän vapauttamisen käytön jälkeen.
  • Jos hävittämistä ei kutsuta, viimeistelymenetelmä tulisi ottaa käyttöön.
  • Kun hälytysmenetelmä on kutsuttu, GC.SuppressFinalize -menetelmä on kutsuttava loppuun viimeistelymenetelmän välttämiseksi ja tarpeettoman GC: n välttämiseksi.
  • Poikkeuksia on käsiteltävä huolellisesti, jos hävitysmenetelmään vedotaan useammin kuin kerran. Jos resursseja luovutetaan, mikä tahansa ilmentymämenetelmä voi heittää ObjectDisposedException.
  • Objektia, jolla on aiemmin kutsuttu hävitysmenetelmä, ei saa käyttää uudelleen.
  • Hävittämistä suositellaan vain natiivien resurssiobjektien ja Component Object Model (COM) -objektien hallitsemiseksi .NET Framework -sivustolle.
  • Jätteeseen ei voida vedota samanaikaisesti useista säikeistä odottamattomien tulosten takia.
  • Arvotyyppejä ei tule luoda kertakäyttöisiksi tyypeiksi tai hallitsemattomien resurssi jäsenten kanssa.
  • Kun käytetään hallitsemattomia resursseja, pidetään parhaana käytäntönä käyttää lähdekoodin Use-käskyä, joka vetoaa automaattisesti kohteen hävitysmenetelmään objektikoodin suorittamisen jälkeen.
Tämä määritelmä on kirjoitettu yhteydessä C #
Mitä hävittää? - määritelmä techopediasta