Può essere consapevole del ciclo di vita dell'attività Android?

Mi sono chiesto l'utilizzo di async / attendi per produrre UI sensibili in Android. Sto usando un semplice servizio pub / sub wrapper intorno alle funzioni async (che è piuttosto un sacco di bobina ma funziona) ma ho avuto questo prurito sul mio lato che mi dice che ci dovrebbe essere un modo migliore.

La necessità del servizio avvolgitore deriva dal fatto che le attività in android vengono "riciclate" (distrutte e ricreate) sulle modifiche di configuration (rotazione del dispositivo, cambi di lingua …) in modo da spegnere una function asynchronous in attesa di richiamata un'attività distrutta e tutti i tipi di cattivi potrebbero provenire da questo.

  • Accesso alla videocamera tramite OpenMAX in Android
  • Android NDK: Interrompere la sosta?
  • OpenGL su Android utilizzando solo C ++
  • Come build l'applicazione Android HelloWorld con Necessitas (port qt)?
  • Come escludere le biblioteche condivise (.so) duplicate in una creazione di Android multiprogetto?
  • Imbottitura Android (Xamarin) in gridview
  • Potrebbe essere in qualche modo reso ansible il back-end di async che il codice dovrebbe sparare in un object diverso (L'attività appena creata) senza compilatori magici scuri?

    Motivazione : il codice di condivisione tra iOS e Android è tutto dolce e semplice utilizzando Xamarin finché non si blocca in questo problema. Se questo in qualche modo viene risolto / implementato, vedo il potenziale per i controller comuni tra entrambe le piattaforms.

    Modifica: Ho deciso di lavorare in giro con un bus di events (TinyMessenger) mentre capisco la soluzione SynchronizationContext proposta da @Servy

  • Android: ListView con il model di dati complesso
  • Elenca gli elementi con colors alternati
  • notifyDataSetChanged non funziona
  • Come gli elementi GridLayout vengono dall'adattatore (elenco / image) in App Android
  • android che collega più adattatori ad un adattatore
  • FilterView ListView con l'adattatore personalizzato (object)
  • One Solution collect form web for “Può essere consapevole del ciclo di vita dell'attività Android?”

    Certo, è specificamente progettato per fare esattamente questo. Ogni volta che si colpisce in await esso verificherà il valore di SynchronizationContext.Current e pubblicherà la continuazione in quel context. Se si desidera un richiamo particolare a un particolare context, è sufficiente impostare il context corrente in un object di SynchronizationContext che i marshal appropriati richiamano … tuttavia è necessario disporre di marshalling.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.