Sobes.tech
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 addreplace 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