OnStop () no se llama?

Estoy tratando de obtener registros para el ciclo de vida de la actividad. Y estoy enfrentando un problema extraño aquí.

Cuando utilizo el tema de la actividad como android:theme="@style/Theme.AppCompat.Light.NoActionBar e ir a la siguiente acitivty. onPuase() y onStop() se llama.

Pero, cuando uso android:theme="@style/AppTheme , onPause() se llama, pero onStop() no se llama.

¿Hay eventos basados ​​en el Tema de Actividad?

Puede remitir el código a continuación.

Estilos.xml

  <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Customize your theme here. --> <item name="android:windowIsTranslucent">true</item> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> 

Manifest.xml

  <activity android:name=".activity.TestActivity" android:label="@string/app_name" android:screenOrientation="portrait" android:theme="@style/AppTheme"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".activity.TestTwoActivity" android:label="@string/app_name" android:screenOrientation="portrait" android:theme="@style/AppTheme" /> 

TestActivity

 public class TestActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); Logger.debug("TestActivity onCreate"); findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(TestActivity.this, TestTwoActivity.class); startActivity(intent); } }); } @Override protected void onStart() { Logger.debug("TestActivity onStart"); super.onStart(); } @Override protected void onRestart() { Logger.debug("TestActivity onRestart"); super.onRestart(); } @Override protected void onResume() { Logger.debug("TestActivity onResume"); super.onResume(); } @Override protected void onPause() { Logger.debug("TestActivity onPause"); super.onPause(); } @Override protected void onStop() { Logger.debug("TestActivity onStop"); super.onStop(); } @Override protected void onDestroy() { Logger.debug("TestActivity onDestroy"); super.onDestroy(); } 

}

Prueba de actividad

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/white" android:orientation="vertical"> <Button android:id="@+id/btn" android:layout_width="match_parent" android:layout_height="100dp" android:background="@color/bg_blue" android:text="button" /> 

` Activity_test_two

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/white"> <Button android:id="@+id/btn" android:layout_width="match_parent" android:layout_height="100dp" android:layout_centerInParent="true" android:background="@color/bg_blue" android:text="button" /> 

Registros:

  TestActivity onCreate TestActivity onStart TestActivity onResume activity Button Click TestActivity onPause TestTwoActivity onCreate TestTwoActivity onStart TestTwoActivity onResume Backpress TestTwoActivity onPause TestActivity onResume TestTwoActivity onStop TestTwoActivity onDestroy 

Su segunda actividad es translúcida – significa que esa primera actividad sigue siendo visible, por lo que no se llamará onStop() . Esto es muy similar a mostrar el diálogo – onPause() se llama porque la actividad no está en primer plano, pero sigue siendo visible para el usuario – por lo que no onStop() llama

<item name="android:windowIsTranslucent">true</item> no realiza cambios en el ciclo de vida de la actividad.

No sé cuál fue el problema en mi caso. Reiniciar el estudio resolvió el problema.

  • Android - ¿cómo startActivity o startActivityForResult afectará el flujo lógico de la actividad actual?
  • Iniciar actividad sin mostrarla
  • Obtención de tamaño de pantalla no de subclase de actividad
  • Granularidad de administración de memoria de Android: ¿Actividad o proceso?
  • OnStart of new Actividad se llama antes de onStop de padre
  • Android: Fecha de paso en putExra
  • Cuando sea bueno para iniciar otra actividad
  • Animación de transición de actividad de Android
  • Eliminación de una actividad de la pila de historial
  • ¿Cómo se muestran 2 vistas en 1 actividad (android)?
  • Método de actividad de acceso de Android dentro del servicio
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.