it-swarm.dev

مهمة تقارب الروبوت

ما هي بالضبط سمة taskAffinity المستخدمة؟ لقد مررت ب التوثيق لكن لم أستطع فهم الكثير.

يمكن لأي شخص أن يفسر مهمة التقارب في شروط للشخص العادي؟

92
Traxex1909

ما هي تقارب مهمة Android المستخدمة؟

يحتوي تطبيق Android على أنشطة تشكل مكدسًا مثل مجموعة بطاقات. إذا قمت بتشغيل تطبيق Android ، وبدأت خمسة أنشطة A و B و C و D و E. وسوف تشكل كومة

E   - chat view
D   - weather screen
C   - map view
B   - weather screen
A   - login screen

كان E آخر نشاط يتم البدء فيه وهو يظهر. إذا أغلقت E ، فسيظهر D. إذا أغلقت D ، فسيظهر C. إلخ.

لاحظ أن الأنشطة B و D هما نفس النشاط. ماذا لو قام المستخدم بإجراء بعض التعديلات على D weather screen ، ثم قرر إغلاق النشاط ، ثم أغلق C Map view؟

بعد ذلك ، سيعود المستخدم إلى شاشة الطقس وسيكون المستخدم غير سعيد لأن التغييرات التي تم إجراؤها على المستوى D weather screen لم يتم حفظها في المستوى B weather screen. على الرغم من أنه نفس النشاط ، إلا أنه حالة مختلفة من هذا النشاط.

كان لدى المستخدم مجموعة من الأنشطة مكونة من 5 طبقات ، واثنان منهم كانا نفس النشاط. سيؤدي ظهور جميع العناصر الخمسة خارج المجموعة إلى خلق الظاهرة التي ستتفاعل فيها مع نسختين مختلفتين من نفس النشاط ويمكن أن تكون مربكة للغاية.

لا يفكر المستخدمون عادة في كومة من الأنشطة الصارمة. يعتقدون: "يا عرض الطقس سوف أقوم بتغيير هناك" ، ثم يريدون العودة إلى عرض الخريطة. ثم قم بالنسخ الاحتياطي مرة أخرى لأنهم يريدون العودة إلى شاشة تسجيل الدخول. لماذا يظهر B weather app ولماذا لم يحفظ الإعدادات من المستوى D؟

قد يكون المبرمج قادرًا على تخفيف بعض الالتباس إذا تم ربط الأنشطة B و D في الحالة. بهذه الطريقة يتغير إلى واحد يغير الآخر. في كل مرة يقوم المستخدم بفتح شاشة الطقس الجديدة ، فإنه يفتح سرا مثيل واحد من شاشة الطقس.

في هذه الظروف ، قد يكون تغيير مهمة ملاءمة النشاط أمرًا مرغوبًا فيه. يقوم المستخدم بتغيير المستوى D. ثم النسخ الاحتياطي إلى المستوى B. ورؤية التغييرات في B التي تم إجراؤها على D.

يحتفظ البرنامج بمكدس يمكنك الاحتفاظ بنسخة احتياطية منه ، وهو أمر رائع ، وعندما يفتح المستخدم مثيلات X للنشاط نفسه في أماكن عشوائية ، يكون كل هذا واحدًا.

عرض الشرائح مع مزيد من الشرح: http://www.slideshare.net/RanNachmany/manipulating-Android-tasks-and-back-stack

153
Eric Leschinski

تشير التقارب إلى المهمة التي يفضل النشاط أن ينتمي إليها.

التقارب يلعب دوره في حالتين:

عندما تحتوي النية التي تطلق نشاطًا على علامة FLAG_ACTIVITY_NEW_TASK.

عندما يحتوي النشاط على سمة allowTaskReparenting المعينة إلى "صواب".

يرجى الرجوع http://developer.Android.com/guide/components/tasks-and-back-stack.html

6
hitesh141