7
votes

Les fragments et les fragments sont-ils intrinsèquement plus rapides que les activités?

sont des fragments et des fragments d'activités intrinsèquement plus rapides que les activités?

Si je n'ai pas besoin de charger mon activité dans des fragments, devrais-je utiliser des fragmentsactivités et des fragments sur des activités?

Raison que je demande, c'est parce que j'utilise des activités, exclusivement, pendant des années et que Google Maps 2.0 est forcé à utiliser des fragments et je me demande maintenant si elles sont intrinsèquement "meilleures" ou non , contre une autre autre mise en œuvre.

Si ce "non constructif" ou "Trop ouvert s'est terminé", la réponse est "non". Mais s'il y a des documents de développeurs de Google ou un blog sur ce sujet exact, alors j'aimerais en être conscient


5 commentaires

Les fragments ne sont pas là pour la vitesse. Citant la documentation, "Vous pouvez penser à un fragment comme section modulaire d'une activité, qui a son propre cycle de vie, reçoit ses propres événements d'entrée et que vous pouvez ajouter ou supprimer pendant que l'activité est en cours d'exécution (en quelque sorte comme un" sous activité "que vous pouvez réutiliser dans différentes activités)." développeur.android.com/Guide/Components/fragments.html


Plus qu'un commentaire, c'est la réponse;)


@Commonsware Je ne comprends tout simplement pas quel problème ils résolvent. Pourriez-vous préciser ceci?


Ils sont là pour aider les développeurs à prendre en charge plusieurs tailles d'écran (par exemple, téléphones, tablettes) à partir d'une base de code unique, en subdivisant l'interface utilisateur en morceaux qui peuvent être recombinés selon les besoins en fonction de l'espace d'écran disponible. Veuillez lire développeur.android.com/guide/practices/... < / a>, développeur.android.com/training/basics/fragments/index. HTML et livres par Balding Muys.


De plus, MAPS V2 ne vous oblige pas à utiliser des fragments. Vous pouvez utiliser une carte V2 MAPVIEW Si vous le souhaitez, tant que vous transmettez toutes les méthodes de cycle de vie, comme cela est expliqué dans la documentation Maps V2: développeurs.google.com/maps/documentation/andrroid/map#mapview


3 Réponses :


11
votes

Je suis devenu un croyant en fragments dans ma dernière application. Que ce soit ou non, ils sont plus rapides, ils sont la sensation plus vite, car vous pouvez les échanger de manière intensive instantanément, y compris une prise en charge complète de la pile arrière si vous le faites à droite (appelez Addtobackstace () sur la transaction, ou quelque chose de très similaire).

J'utilise maintenant une activité de fragments / fragments pour toute navigation, je veux me sentir très rapide, comme cliquer sur une ligne pour obtenir plus de détails. Je ne lance que de nouvelles activités pour quand je veux faire une chose fondamentalement différente et avoir une ardoise propre à travailler. Par exemple, j'ai généralement une loginactivité qui traite exclusivement avec les connexions / enregistrements et au moins un de plus qui est au cœur de l'application.

Mais l'avantage fondamental des fragments reste toujours leur flexibilité. Je peux montrer des fragments sur les autres fragments, les réorganiser sur différentes tailles d'écran, etc. Mais il existe des charges d'autres avantages. Il faut juste un certain temps pour se sentir naturel (tout comme les activités aient fait au début).

Une mise en garde, je regrette toujours d'incorporer des fragments dans mes mises en page. Je ne peux pas donner des raisons exactes ici au sommet de ma tête, mais vous perdez essentiellement une certaine flexibilité. Au lieu de cela, je construis une mise en page normale pour chaque fragment et ajoutez une vue d'espace réservé dans la mise en page d'activité, créez le fragment de manière programmatique et utilisez la transaction.replace () pour l'ajouter à la disposition. Peut-être parce que c'est la voie principale que je échange des fragments de cette vue d'espace réservé et préférez simplement avoir une seule façon de faire les choses dans la mesure du possible.


2 commentaires

Ah, une autre raison pour laquelle je n'ai pas incorporé des fragments dans des mises en page, c'est que j'utilise très souvent des arguments de paquet. (Mise en charge de ces nouveaux fragments, vous souhaitez utiliser frag.settarguments (Bundle args); au lieu d'un constructeur, comme lorsque votre fragment est reconstruit, il sera fait en appelant le constructeur par défaut, puis en passant le même paquet ARGS.


Êtes-vous toujours un croyant en fragments? Je ne suis pas et n'utilisez pas de conducteur ou un autre type de groupe de visiteux pour échanger des choses d'une activité d'une activité



1
votes

Ouais, des fragments sont introduits exclusivement pour supporter de gros écrans pour utiliser la zone efficacement. Les fragments de troubles sont très faciles et en termes de mémoire. Les fragments imbriqués sont des problèmes


0 commentaires

0
votes

Les fragments sont très utiles si vous souhaitez diviser un écran. Vous pouvez donc avoir des vues différentes dans le même écran. Une autre façon d'utiliser des fragments, disons que vous avez des onglets de catégoriser des éléments. Pourrait avoir des vêtements, des chaussures comme vos onglets. Chaque onglet aura un fragment pour tenir les produits. Les onglets pourraient soit être maintenu en activité ou un fragment. Je trouve des fragments un peu plus vite que les activités, mais ce n'est vraiment pas quelque chose que vous remarqueriez vraiment dans la plupart des cas. Quoi qu'il en soit, s'ils étaient destinés à la vitesse ou non, ils semblent toujours peu plus rapides.

L'inconvénient de l'utilisation de fragments est certains rappels comme OnBackPressed n'est que dans une activité. Les fragments n'ont pas accès à cela. Je trouve souvent de son mieux pour minimiser la quantité d'activités que possible. En outre, n'oubliez pas que les activités ne sont pas simplement des vues, elles sont également un écran. Alors que le fragment n'est qu'une vue et n'a pas d'écran. Les barres d'outils / d'action, etc. ne sont également que des activités que si vous utilisez une barre d'outils personnalisée, vous pouvez l'utiliser dans un fragment en implémentant AOUDTOUCH (si ce n'est pas un objet, mais un objet) ou ONCLICK (boutons) La méthode de ceux-ci vous donnera quoi vous avez besoin. Donc, il y a vraiment des inconvénients, mais il y a presque une solution de contournement pendant au moins certaines d'entre elles.

Je suis d'accord, la transition de fragments est géniale et popez la pile lorsque vous travaillez avec les boutons arrière et que les ouvrages sont expressés.

J'utilise toujours un commutateur dans l'activité des parents, etc. Pour voir, quel fragment doit être vu, je la mettez souvent à la mettre à jour à l'aide de l'ensemble d'une interface, etc. Pas sûr si quelqu'un d'autre a trouvé un moyen plus efficace ou non. Mais je trouve cela vraiment utile lors de la commutation de vues.

Les fragments YEP sont des traces supérieures pour la plupart des choses.


0 commentaires