هربرنامه وقتی لانچ میشه در یک task قرار میگیره و هرتسک حاوی یک backstack یا پشته هست که اکتیوتی های ما در پشته قرار میگیرن و توسط بک استک سازماندهی میشن !
حالا هرتسک یک نامی داره که بهش میگن taskAffinity ! که پیش فرض برابر پکیج نام برنامه هست .
حالا کاربرد این taskAffinity چیه و در چه جاهایی تاثیرگذاره ؟
⭕️اکتیوتی هایی که taskAffinity شون مث هم باشه در یک تسک باز میشن حتی اگر با singleTask یا singlInstanc استارت شن.
نکته : پیش فرض taskAffinity های همه اکتیوتی یکی هست - برگرفته از نام پکیج
حالا با توجه به نکته ای که گفتیم اگر شما از singleTask استفاده میکنید باید پرورپرتی taskAffinity اون اکتیویتی رو تغییر بدید که همنام پکیج برنامه نباشه . و اکتیوتیتون رو در تسک جدا باز کنه .
ارجاعتون میدم در مورد launchMode و مقدار singletask به این لینک :
https://github.com/irlogcat/android-interview-questions/issues/76#issuecomment-653907535