A quoi sert exactement l'attribut taskAffinity
? J'ai parcouru la documentation mais je ne comprenais pas grand chose.
Quelqu'un peut-il expliquer l'affinité des tâches en termes simples?
A quoi sert exactement l'attribut taskAffinity
? J'ai parcouru la documentation mais je ne comprenais pas grand chose.
Quelqu'un peut-il expliquer l'affinité des tâches en termes simples?
Qu'est-ce que Android Tâche d'Affinité est-il utilisé?
Une application android a des Activités qui forment une pile comme un jeu de cartes. Si vous démarrez une application android, et commencer à cinq activités A,B,C,D,E. Ils forment une pile
E - chat view
D - weather screen
C - map view
B - weather screen
A - login screen
E était la dernière Activité a commencé, et c'est montrant. Si vous fermez E, D sera affiché. Si vous fermez D, C sera affiché. etc.
Notez que les Activités B
et D
sont de la même activité. Que si l'utilisateur pour apporter quelques modifications à l' D weather screen
, puis a décidé de clore l'activité, puis de fermer l' C Map view
?
Ensuite, l'utilisateur sera de retour à l'écran météo et l'utilisateur serait malheureux parce que les changements au niveau de l' D weather screen
n'ont pas été enregistrées au niveau de l' B weather screen
. Même si c'est la même activité, c'est un état différent de l'ÉTAT de l'activité.
L'utilisateur a une couche 5 de la pile d'activités, et deux d'entre eux étaient de la même activité. Éclater toutes les 5 hors de la pile de créer le phénomène où vous serez en interaction avec deux versions différentes de la même activité, et peut être assez déroutant.
Les utilisateurs n'ont pas l'habitude de penser en termes d'un rigide de la pile d'activités. Ils pensent: "ooh la météo, je vais faire un changement de là" et puis, ils veulent revenir à l'affichage de la Carte. Puis à nouveau de retour parce qu'ils veulent revenir à l'écran de Connexion. Pourquoi l' B weather app
montrant et pourquoi ne pas enregistrer les paramètres de niveau D
?
Le programmeur peut être en mesure de soulager une certaine confusion si les Activités B
et D
étaient liés à l'état. De cette façon, on modifie l'un des changements les autres. Chaque fois que l'utilisateur ouvre un nouvel écran météo, il ouvre secrètement la seule instance de l'écran météo.
Dans ces cas, la modification de la taskAffinity de l'Activité pourrait être souhaitable. L'utilisateur de changer de niveau D. remonter vers le niveau B. Et de voir les changements dans B qui ont été faites à D.
Le programme conserve une pile de sauvegarde de travers, ce qui est agréable, et lorsque l'utilisateur ouvre X instances de la même activité dans des endroits aléatoires, ils sont tous.
Diaporama avec plus d'explication: http://www.slideshare.net/RanNachmany/manipulating-android-tasks-and-back-stack
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.