Ich habe eine App, die 15 verschiedene Abschnitte hat. Ich benutze eine einzelne Aktivität mit einer FrameLayout, wo ich 15 verschiedene Fragmente mit einem NavigationDrawer laden. Ich habe auch Kindfragmente unter wenigen Elternfragmenten, wo ich Swipe-Tab-Layout laden.Sind viele Fragmente eine schlechte Übung?
Also, kurz gesagt, ich habe viele Fragmente in meiner App.
Das Problem ist, wenn ich die Fragmente zum BackStack beim Hinzufügen zum FrameLayout hinzufügen, werden die Fragmente nie zerstört, solange meine App lebt (nur View wird zerstört, was erwartetes Verhalten ist). Wenn der Benutzer weiterhin auf verschiedene Fragmente schwebt, wird die Größe des BackStacks immer größer, was zu Speicherproblemen führen kann.
So begann ich zu googeln und fand mehrere Threads in SO wo einige suggests against using Fragments at all. Aber wenn ich jeden Abschnitt mit seiner eigenen Aktivität gestalten möchte, muss ich NavDrawer zu jeder Aktivität hinzufügen (oder zumindest diese Aktivität auf eine Basisaktivität ausdehnen), was ich nicht sicher bin, wenn es umsichtig ist.
Das lässt die Frage, ist es ein gutes Design, viele Fragmente in einer einzigen Aktivität zu haben? Wenn es in Ordnung ist, sollte ich die Fragmente zum BackStack hinzufügen? Wenn ich sollte, was ist mit Speicherproblemen? Und hat schließlich jemand NavigationDrawer über verschiedene Aktivitäten versucht? Ist es effizient?
Meine Entschuldigung für eine Reihe von Fragen.
Bearbeiten: Basierend auf den Antworten, so weit ich das klären möchte, weiß ich, dass es eine Art generische Frage ist, und kann verschiedene meinungsbasierte Antworten ergeben. Ich möchte also klarstellen, dass ich keine entscheidende Antwort suche (weil es vielleicht keine gibt), sondern eine Diskussion eröffnen wollte, um aus verschiedenen Perspektiven zu hören.
Diese Frage dient nur dazu, meinungsbasierte Antworten zu erhalten - Sie haben bereits gegensätzliche Meinungen erwähnt! Denken Sie, dass die Verwendung von Aktivitäten effizienter ist? Denken Sie daran Aktivitäten haben auch einen Aktivitätsstapel. Nur Sie können Ihre eigene Frage beantworten, indem Sie beides testen und die Leistung und Speichernutzung analysieren. Die Anzahl der Fragmente ist nicht das Problem, wie Sie mit ihnen aus einer Navigationsperspektive interagieren und was sie enthalten ist ... Bilder usw. –
Hmm, ich stimme zu ..Ich weiß, ich habe eine allgemeine Frage gestellt. Eigentlich hatte ich genau gehofft, die verschiedenen auf Meinungen basierenden Antworten zu bekommen, um mein Verständnis mit mehr Erfahrung zu überprüfen. Ich suche eigentlich keine entscheidende Antwort (weil es keine gibt, wie Sie gesagt haben). Natürlich habe ich mich nach meiner Recherche für Fragments entschieden, aber ich habe diese Diskussion nur eröffnet, um widersprüchliche Ansichten zu hören. – abdfahim