Auto-Create Nesnelerim
Giriş (Form)
Ana (Form)
ve 3 tane DataModule (toplamda 10 nesne barındırıyorlar)
Yapı
Giris (Application Form)
|
Ana (Giriş Hide olur)
|
- Form1
|
- Form2
Giriş formu geldiğinde bellek kullanım miktarı: 4.248K
Ana form açıldığında ise: 4.488K
Test Ediyoruz:
Ana (4.488K)
|
- Form1 (4.860K)
|
- Form2 (5.092K)
geriye geliyoruz
Form2 Kapandı Fom1'e döndüğümüzde 5.040K
Ana Form'a döndüğümüzde ise 4.924K
Ana Form üzerinden kaybedilen bellek miktarı hesaplandığında: 436K ediyor.
Başlangış değerin olarak Ana form esas alınıyor ve tekrar deniyoruz
(Ana formdayız ve şuan ki bellek kullanımı 4.924K)
Ana (4.924K)
|
- Form1 (5.004K)
|
- Form2 (5.100K)
Ana Form'a döndüğümüzde ise 5.380K
Bellek sızıntısı 465K
3. kez testi yapıyorum
Ana (5.380K)
|
- Form1 (5.400K)
|
- Form2 (5.464K)
Ana forma dönüyorum 5.312
Bellek sızıntısı +312K kazançlı çıkıyoruz

Seri bir şekilde Fom1 Fom2 yi çağırıp ana forma dönüyorum bakalım ne olacak testleri yapıyorum
~20 test yaptım ama artık sabit kalıyor. Ana fom işlem sonrası dönüş değeleri hep; 5.404K
Programı minimize yapıyorum 392K, tekrar maximize yapınca (30 sn bekledim yükselirmi diye) 1.592K
Mevcut işlemleri yapıyorum ana forma dönüyorum ve 3.116K :[
Yani neymiş; findows uygulamalarını arada bir minimize yapmak bellekten kurtarmakmış...
Seri olarak 8-10 test yapıyorum ve hep Ana form a dönüş değeri hep 3.120K oluyor, ilginç!
ve bundan sonrada yaptığım testlerde 3.120K sınırının üstünde bir Ana form bekleme bellek miktarı elde etmedim.
Eee noldu 5.300K lardan buralara (3.120K) nasıl geldik?
Formların yaratıldığı ve free edildiği komutlar
Yaratma (ihtiyaç duyduğumda yani gösterimden önce)
FormX := TFormX.Create(Application);
FormX.ShowModal;
Free Etme (ilgili formun OnClose olayında)
Action := caFree;
FormX := nil;
Sizce ben mi bellek sızıntısı yapıyorum yoksa Findows da işler böyle mi yürüyor?
Saygılar...
Taner DOĞAN
App. Dev.