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 (PAUSEDdurumuna 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 |