HIDE_ON_CLOSE - DISPOSE_ON_CLOSE arasındaki ince fark
Merhaba arkadaşlar. Ben Hakan Keten. Mustafa Kemal Üniversitesi Hassa Meslek Yüksek Okulunda
2. sınıf öğrencisiyim. Bende artık burda sizlerle birlikte elimizden geldiği, dilimizin döndüğü kadarıyla derslerimizle aracılığıyla sizlerle birlikte olacağım.
İlk olarak JDialog veya JFrame kullanımlarımızda sıkça kullandığımız HIDE_ON_CLOSE ve DISPOSE_ON_CLOSE arasındaki küçük farktan bahsedeceğim. İlk bakışta işlem olarak aynı işi görüyor değil mi her ikisi de pencereyi kapatıyor. Peki ya arkaplanda neler oluyor? Bu sorumuzu ufaktaktan ufaktan anlatmaya başlayalım.
Gui'lerde kullandığımız HIDE_ON_CLOSE açılmış pencereyi gizler ram üzerinde tutmaya devam eder. Kullanıcının daha sonra çağırmasını bekler. DISPOSE_ON_CLOSE ise pencereyi gizler ram üzerindeki verilerini temizler. Kullanıcının daha sonra çağırmasını beklemez. Pencere açılacağı zaman yeniden oluşturulması gereklidir.
Bu durum kullanılacağı yere göre avantajları ve dezavantajları da beraberinde getirmektedir. Örneğin Singleton (Gui sadece 1 kere oluşturulur her seferinde oluşturulan nesne tekrar çağrılır) tasarım kalıbı ile oluşturulmuş bir nesnede DISPOSE_ON_CLOSE kullanmak nesnenin tekrar tekrar oluşturulmasını sebep olarak uygulamayı yavaşlatır. Bu gibi durumlarda HIDE_ON_CLOSE kullanılması uygundur. Farklı bir örnek verecek olursak daha önceden oluşturup oluşturulmadığına bakılmadan örneğin bir butona tıklandığında new anahtar sözcüğünü kullanarak bir gui nesnesi oluşturulduğunda HIDE_ON_CLOSE kullanıldığını düşünürsek, aynı butona 10 kere tıklanırsa 10 kere yeniden oluşturulmuş ram den çağırmamızı bekler vaziyette durmaktadır. Ancak bu durumda DISPOSE_ON_CLOSE kullanmış olsaydık ramın halini bir düşünün :)
Kaynak
0 yorum:
Yorum Gönder