7

Questa chiamata, che si verifica in un frammento, di tanto in tanto si blocca a causa di un NullPointerException, soprattutto quando l'applicazione non è in esecuzione in primo piano:.È possibile che un'attività prelevi Raccogli Garbage Collection e non un figlio?

getActivity() getApplication());

Questa chiamata si verifica quando il feedback ritorna dal server o quando è necessario ridisegnare il frammento. Non sono sicuro del motivo per cui quella chiamata genererebbe un NPE, il frammento può rimanere in memoria mentre Activity riceve GCed?

Se fa la differenza, sto usando uno SwipeyTab ViewPager per visualizzare diversi frammenti.

+1

Qual è l'output del logcat? – Kerry

+0

Ciao! Buona domanda. Per renderlo un po 'più chiaro, quale meccanismo stai utilizzando per recuperare i dati del server e a cosa ti stai riferendo quando stai parlando di ridisegnare il frammento? Forse aggiungere un po 'del codice rilevante? :-) –

risposta

1

Il problema era che c'era un thread di lunga durata sul frammento, che restituiva risultati dopo che il frammento era stato scollegato dall'attività. Sembra strano che il Frammento esista senza essere collegato a un'attività (dopo che era già stato allegato).

2

Fragment s non possono esistere senza un allegato Activity. Se l'attività viene distrutta, anche il frammento verrà distrutto. Si noti inoltre che getActivity() restituirà null finché sul frammento non viene chiamato onAttach().