Sobes.tech
Middle

add ve replace metodları arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Fragmentlerle çalışırken add ve replace yöntemleri arasındaki fark şudur:

  • add: Yeni fragmenti mevcutların üzerine ekler. Önceki fragmentler yığında kalır (addToBackStack çağrıldıysa) ve yaşam döngüleri duraklatılır (PAUSED durumuna geçerler).
  • replace: Önceki fragmenti konteynerden kaldırır ve yerine yenisini ekler. Eğer önceki fragment yığında ise, geri dönüşte yeniden oluşturulur.

add kullanım örneği:

supportFragmentManager.beginTransaction()
    .add(R.id.fragment_container, NewFragment())
    .addToBackStack(null)
    .commit()

replace kullanım örneği:

supportFragmentManager.beginTransaction()
    .replace(R.id.fragment_container, NewFragment())
    .addToBackStack(null)
    .commit()

Ana farklar aşağıdaki tabloda özetlenebilir:

Özellik add replace
Görünürlük Yeni fragment üst üste gelir Yeni fragment önceki yerine geçer
Önceki durum Duraklatılır (PAUSED) Konteynerden kaldırılır, geri dönüşte yeniden oluşturulur
Geri yığın Önceki fragment yığında kalır Önceki fragment konteynerden kaldırılır, ama yığında olabilir
Performans Çok sayıda fragment ile daha az performanslı olabilir Sık değişikliklerde genellikle daha performanslıdır