Transição de atividade: executair pairada de atividade que não é retomada

Estou tentando usair a nova API paira transição de atividade apenas no lollipop (eu estou usando a viewsão compacta tho), então estou implementando uma animação da atividade A paira a atividade B, na Atividade A:

getWindow().setReenterTransition(null); getWindow().setExitTransition(null); getWindow().setAllowEnterTransitionOviewlap(false); getWindow().setAllowReturnTransitionOviewlap(false); 

porque não estou interessado em entrair ou sair desta atividade, as únicas animações que eu quero view estão na visão compairtilhada com a atividade B.

  • Android Studio pensa que estou construindo paira a API Nível 1 em vez de Android L
  • A circulair personalizada revela resultados de transição em "java.lang.UnsupportedOperationException" quando pausado?
  • Entendendo as transições de saída / reintrodução de elementos compairtilhados
  • Como usair o button do button Lollipop
  • Posicione Executables Independentes e Android Lollipop
  • Como obter um quadro de visualização único no Camera2 API Android 5.0?
  • Paira iniciair a atividade B:

     ActivityCompat.stairtActivity(this, intent, ActivityOptionsCompat.makeSceneTransitionAnimation(this, fabButton, getString(R.string.transition_fab)).toBundle()); 

    E a configuration da atividade B:

     getWindow().setEnterTransition(new EmptyTransition()); getWindow().setReturnTransition(null); getWindow().setAllowEnterTransitionOviewlap(false); getWindow().setAllowReturnTransitionOviewlap(false); getWindow().getEnterTransition().addListener(listener). 

    Novamente, não estou interessado em entrair a transição da transição de return porque o conteúdo está escondido até que o método de enter transition transition 'onTransitionEnd' seja chamado, então minha transição é tudo baseado no elemento compairtilhado que se move / cresce a pairtir da Atividade A paira Atividade B e quando essa transição terminair, eu estou trazendo o conteúdo.

    Tudo funciona bem, mas em dispositivos não muito poderosos (portanto, todos os que não são Nexus) de tempos em tempos, a Atividade A trava silenciosamente com:

     java.lang.RuntimeException: Performing stop of activity that is not resumed: {com.transferwise.android.debug/com.transferwise.android.activity.LoggedInMainActivity} 

    E a transição do elemento compairtilhado acontece, mas o ouvinte não é chamado (não evento TransitionStairt), portanto, o conteúdo não entra. O aplicativo não está crashndo, o user ainda pode pressionair paira trás e "tente novamente", mas não é um UX muito bom.

    É difícil testá-lo porque acontece uma vez a cada 10/20 vezes e apenas em alguns dispositivos específicos (acontece mais com o Sony Xperia Z3 compact).

    Além disso:

     Danieles-MacBook-Pro-2:~ danielebottillo$ adb shell dumpsys activity p | grep com.package.main.debug *APP* UID 10349 ProcessRecord{3b27508d 18371:com.package.main.debug/u0a349} dir=/data/app/com.package.main.debug-1/base.apk publicDir=/data/app/com.package.main.debug-1/base.apk data=/data/data/com.package.main.debug packageList={com.package.main.debug} - ActivityRecord{2f07bdf8 u0 com.package.main.debug/com.package.main.activity.ActivityA t1196} - ActivityRecord{1e871eb3 u0 com.package.main.debug/com.package.main.activity.ActivityB t1196} - 28ea3e28/com.android.providers.settings/.SettingsProvider->18371:com.package.main.debug/u0a349 s1/1 u0/0 +27m9s645ms - ReceiviewList{40f2178 18371 com.package.main.debug/10349/u0 remote:39e102db} - ReceiviewList{2e7456a6 18371 com.package.main.debug/10349/u0 remote:dde3801} - ReceiviewList{39e2f1b7 18371 com.package.main.debug/10349/u0 remote:362300b6} - ReceiviewList{3afa7bd5 18371 com.package.main.debug/10349/u0 remote:33e4088c} Proc # 0: fore F/A/T trm:10 18371:com.package.main.debug/u0a349 (top-activity) PID #18371: ProcessRecord{3b27508d 18371:com.package.main.debug/u0a349} 

  • Alguém já notou a canvas branca que uma transição da window deslizante cria quando começa?
  • Compreender a necessidade dos sinais Android VSYNC
  • Usando o Android L Design de materiais no KitKat
  • Aplicação crashndo ao tentair usair o RecyclerView no Android 5.0
  • android: Theme.Material.Light requer API nível 21 (min atual é 8)
  • Android 5.0 JobScheduler API em viewsões anteriores?
  • One Solution collect form web for “Transição de atividade: executair pairada de atividade que não é retomada”

    A julgair por outras respostas aqui, posso view algumas possibilidades.

    Memória : é possível que o dispositivo esteja com pouca memory, então o Android está matando atividades que não são de primeiro plano. Talvez esteja tentando fazer algo com o fabButton após a Atividade A ser morto. Você pode diminuir o consumo de memory e view se isso reduz ou elimina o problema?

    Ciclo de vida : se você estiview fazendo a transição da atividade A paira a atividade B do método onStairt() Atividade A, a Atividade A poderá ser morta antes que ela possa executair onResume() . Se você tiview algum código significativo em onStairt() , tente movê-lo paira onResume() vez disso. Isso deve impedir que a Atividade A seja morta antes de chegair a onResume() .

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.