CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: complicazio con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 11 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 34 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 4 su 4
Discussione:

Dubbio tra activity e fragment

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Senior Droid L'avatar di l30n4rd0


    Registrato dal
    Jan 2013
    Località
    Terni/Roma
    Messaggi
    447
    Smartphone
    HUAWEI Ascend G330 (U8825-1)

    Ringraziamenti
    67
    Ringraziato 72 volte in 53 Posts
    Smile

    Dubbio tra activity e fragment

    Prometto che stavolta sarò meno pretenzioso del topic sul chromium webview che ho fatto in "programmazione avanzata e hint"
    Visto che non si tratta di programmazione specifica o di codice vero e proprio, ma solo di concetto, volevo chiedere qui quale vantaggio c'è ad usare i fragment al posto delle activity. Mi spiego meglio nella mia app (che specifico essere compatibile da api 10 in poi) uso diverse activity. Alcune sono solo di visualizzazione tipo l' "about", o una pagina che scarica da un php dei dati json e li mostra. Una invece sono le "impostazioni" dove ho checkbox, radiobutton, bottoni, lancio anche una gridview e una listview. Volevo sapere quindi (mantenendo l'activity principale ovviamente) se è meglio usare i fragment per le alte. Ad esempio per ridurre la ram occupata dall'app (occupa dai 40 ai 55~60 mb), renderla più performante e così via...
    Dite la vostra
    Smartphone: Huawei Ascend G330 (U8825-1)
    ROM: CyanogenMod 11
    Recovery: TWRP 2.7.1.0
    Root: Done
    Unloock bootloader: Done

    Tablet: Nexus 7 3G 32 GB
    ROM: CyanogenMod 11 for Tilapia
    Recovery: TWRP 2.6.3.0
    Root: Done
    Unloock bootloader: Done

  2.  
  3. #2
    Androidiani Power User L'avatar di Crotan


    Registrato dal
    Jul 2013
    Località
    Roma
    Messaggi
    1,265
    Smartphone
    Redmi Note 9 Pro

    Ringraziamenti
    401
    Ringraziato 1,445 volte in 626 Posts
    Predefinito

    Ciao, la tua è una domanda molto interessante.

    Partiamo da un concetto di fondo. Le Activity possono esistere indipendentemente mentre i Fragments no. Un Fragment è sempre gestito da una Activity. Vuoi che sia un ViewPager o qualsiasi altra cosa, deve sempre esserci una Activity che lo gestisce. La cosa interessante di questi Fragments è che oltre ad essere molto performanti permettono la creazione di UI multi-schermate. In che senso? Nel senso che ad esempio avendo una applicazione basata su un Navigation Drawer anzichè far corrispondere ad ogni click sugli elementi di esso una Activity metti i Fragments. Che differenza c'è? Sicuramente la gestione è migliore ed anche le performance. Pensa al Google Play Store per farti un idea di quello che sto dicendo. I Fragments possono anche essere aggiunti o rimossi mentre l'Activity "madre" (ossia quella che li gestisce) è in esecuzione. Logicamente benchè questi Fragments abbiano dei propri cicli di vita questi sono condizionati da quelli della Activity.

    Nel tuo caso specifico diciamo che le schermate di Impostazioni e About sono nella maggioranza dei casi delle Preference Activity. Se poi l'applicazione è basata sul Navigation Drawer, come ti avevo detto prima, ti conviene usare i Fragments. Non avrebbe senso usare le Activity anche perchè se così facessi in ciascuna dovresti dichiarare nuovamente tutto il NavDrawer e il relativo comportamento. Non avrebbe senso ed è uno spreco di codice.

    Per ulteriori informazioni circa i Fragment puoi consultare la documentazione ufficiale.

  4. #3
    Senior Droid L'avatar di l30n4rd0


    Registrato dal
    Jan 2013
    Località
    Terni/Roma
    Messaggi
    447
    Smartphone
    HUAWEI Ascend G330 (U8825-1)

    Ringraziamenti
    67
    Ringraziato 72 volte in 53 Posts
    Predefinito

    Quote Originariamente inviato da Crotan Visualizza il messaggio
    Ciao, la tua è una domanda molto interessante.

    Partiamo da un concetto di fondo. Le Activity possono esistere indipendentemente mentre i Fragments no. Un Fragment è sempre gestito da una Activity. Vuoi che sia un ViewPager o qualsiasi altra cosa, deve sempre esserci una Activity che lo gestisce. La cosa interessante di questi Fragments è che oltre ad essere molto performanti permettono la creazione di UI multi-schermate. In che senso? Nel senso che ad esempio avendo una applicazione basata su un Navigation Drawer anzichè far corrispondere ad ogni click sugli elementi di esso una Activity metti i Fragments. Che differenza c'è? Sicuramente la gestione è migliore ed anche le performance. Pensa al Google Play Store per farti un idea di quello che sto dicendo. I Fragments possono anche essere aggiunti o rimossi mentre l'Activity "madre" (ossia quella che li gestisce) è in esecuzione. Logicamente benchè questi Fragments abbiano dei propri cicli di vita questi sono condizionati da quelli della Activity.

    Nel tuo caso specifico diciamo che le schermate di Impostazioni e About sono nella maggioranza dei casi delle Preference Activity. Se poi l'applicazione è basata sul Navigation Drawer, come ti avevo detto prima, ti conviene usare i Fragments. Non avrebbe senso usare le Activity anche perchè se così facessi in ciascuna dovresti dichiarare nuovamente tutto il NavDrawer e il relativo comportamento. Non avrebbe senso ed è uno spreco di codice.

    Per ulteriori informazioni circa i Fragment puoi consultare la documentazione ufficiale.
    Ok, Crotan. Mi hai confermato quello che pensavo. La doc ufficiale mi aveva un pò confuso le idee XD
    Mi metto al lavoro sui fragment allora. Grazie
    Smartphone: Huawei Ascend G330 (U8825-1)
    ROM: CyanogenMod 11
    Recovery: TWRP 2.7.1.0
    Root: Done
    Unloock bootloader: Done

    Tablet: Nexus 7 3G 32 GB
    ROM: CyanogenMod 11 for Tilapia
    Recovery: TWRP 2.6.3.0
    Root: Done
    Unloock bootloader: Done

  5. #4
    Baby Droid


    Registrato dal
    Jun 2012
    Messaggi
    4

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ciao :-) Premesso che sono un pivellino nella programmazione Java per Android, oltre alle valididssime considerazioni di Crotan io aggiungerei anche che se la tua app è fatta per supportare anche schermi di dimensioni superiori agli smartphone, i fragment fanno la differenza. Le listview create nelle activity visualizzate in modalità landscape su un tablet hanno davvero un brutto impatto grafico, mentre con i fragment puoi permetterti di inserire all'interno della stessa activity, per i dispositivi dallo schermo di grandi dimensioni, la listview e la detail view contemporaneamente evitando gli spazi morti e graficamente poco attraenti che si avrebbero con la semplice activity. Sulle performances non credo ci siano grosse differenze, almeno credo, a meno che non si parli di giochi per cui viene sfruttata molto la grafica, ma, ripeto, essendo un neofita, potrei anche sbagliarmi.
    Ultima modifica di pibraccus; 21-06-14 alle 09:14

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy