2014-04-07 16 views
6

Questa è più di una domanda teorica.È sempre necessario executePendingTransactions()?

Ho una situazione in cui la mia app si blocca su un frammento di swap con una chiamata executePendingTransactions() e funziona senza di essa.

La mia domanda è cosa potrebbe andare storto in generale se non chiamo executePendingTransactions()?

Come ho capito, senza questo metodo uno swap Fragment potrebbe non verificarsi immediatamente, anche se non l'ho mai sperimentato.

risposta

8

Non è necessario a meno che non si esegua qualcosa che dipende dalla transazione. Dal API documentation,

Dopo un FragmentTransaction si impegna con FragmentTransaction.commit(), è prevista per essere eseguito asincrono sul filo principale del processo. Se si desidera eseguire immediatamente tali operazioni in sospeso, è possibile chiamare questa funzione (solo dal thread principale) per farlo. Tieni presente che tutte le callback e altri comportamenti correlati verranno eseguiti all'interno di questa chiamata, quindi fai attenzione a da dove viene chiamato.

Problemi correlati