VS 2013 práce s pamětí   otázka

VB.NET, Visual Studio, Grafika

Dobrý den. Vytvořil jsem si jednoduchý program na prohlížení obrázku, kde naberu do seznamu obsah adresáře a potom klikáním zobrazuji obrázky. Každý obrázek mně však zabere určité místo v paměti a asi při 60. obrázku to dělá 60% a program se ukončí. Nemůžete mně někdo poradit co s tím? Existuje nějaký příkaz, kterým by se paměť mazala?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zdravím,

paměť se přeci uklízí automaticky, od toho máme garbage collector, stačí, když na obrázek ztratíte reference (tzn. v programu se stane nedosažitelným).

R.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Dobrý den. To jsem si myslel také, ale jak je vidět, tak se mně to tam někde štosuje, až to spadne. Dělám něco špatně, ale nevím co. I tak děkuji za reagování na zprávu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

GC není kouzelník a i když to na první pohled nemusí tak vypadat, memory leak se dá vytvořit velice snadno. Takovéto zjednodušování není na místě a naopak je nebezpečné obzvláště pro začínající.

Jak vytváříte ty obrázky? Chce to ukázku kódu. Pokud si dobře vzpomínám (je to už mnoho let co jsem to řešil) tak například bitmapa se musela uvolňovat explicitně jinak zůstávala v paměti.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zdravím,

přesně tak jak říká kolega, chce to ukázku kódu, bez toho nic nezmůžeme.

R.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nedávno jsem měl dotaz, co mám udělat u mého programu na prohlížení obrázků, aby mně neubývala paměť s každým otevřeným obrázkem. Článek se jmenoval „VS 2013 práce s pamětí“. Problém jsem vyřešil tak, že jsem použil příkaz .Dispose, před každým dalším načtením obrázku. Konkrétně PictureBox1.Image.Dispose(). Píši to pro případ, že by měl někdo podobný problém.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback