Middle
add və replace metodları arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Fragmentlərlə işləyərkən add və replace metodları arasındakı fərq aşağıdakı kimidir:
add: Mövcudların üzərinə yeni fragment əlavə edir. Əvvəlki fragmentlər yığımda qalır (addToBackStackçağırılıbsa) və onların həyat dövrü dayandırılır (PAUSED).replace: Əvvəlki fragmenti konteynerdən silir və yerinə yenisini əlavə edir. Əgər əvvəlki fragment yığımda idisə, geri dönəndə yenidən yaradılır.
add metodundan istifadə nümunəsi:
supportFragmentManager.beginTransaction()
.add(R.id.fragment_container, NewFragment())
.addToBackStack(null)
.commit()
replace metodundan istifadə nümunəsi:
supportFragmentManager.beginTransaction()
.replace(R.id.fragment_container, NewFragment())
.addToBackStack(null)
.commit()
Əsas fərqlər aşağıdakı cədvəldə qısaca göstərilmişdir:
| Xüsusiyyət | add | replace |
|---|---|---|
| Görünüş | Yeni fragment köhnənin üstünə çıxır | Yeni fragment köhnənin yerini tutur |
| Əvvəlki vəziyyət | Dayandırılır (PAUSED) |
Konteynerdən silinir, geri dönəndə yenidən yaradılır |
| Geri yığım | Əvvəlki fragment yığımda qalır | Əvvəlki fragment konteynerdən silinir, lakin yığımda ola bilər |
| Performans | Çox sayda fragmentlə daha az performanslı ola bilər | Tez-tez dəyişikliklərdə ümumiyyətlə daha səmərəlidir |