Я тестировал этот код, который показывает, в каком состоянии находится действие.
public class Activity101Activity extends Activity {
String tag = "Lifecycle";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.main);
setContentView(R.layout.activity_activity101);
Log.d(tag , "In the onCreate() event");
}
public void onStart()
{
super.onStart();
Log.d(tag , "In the onStart() event");
}
public void onRestart()
{
super.onRestart();
Log.d(tag , "In the onRestart() event");
}
public void onResume()
{
super.onResume();
Log.d(tag , "In the onResume() event");
}
public void onPause()
{
super.onPause();
Log.d(tag , "In the onPause() event");
}
public void onStop()
{
super.onStop();
Log.d(tag , "In the onStop() event" );
}
public void onDestroy()
{
super.onDestroy();
Log.d(tag , "In the onDestroy() event");
}
}
поэтому я вижу, что onDestroy() вызывается только тогда, когда мы нажимаем кнопку «Назад», когда активность находится на экране, и никогда не вызывается в противном случае. Таким образом, он должен работать в фоновом режиме, если я нажимаю кнопку «Домой» во время выполнения действия. Однако, если я перейду к Settings -> Apps -> Running
, я не увижу его в списке. Значит ли это, что он работает в фоновом режиме или нет?
Опять же, этот код показывает, что за onPause() всегда следует onStop(), а за onStart() всегда следует onResume(). Так почему же они определены как разные функции в среде Android, а не объединены?
android lifecycle
первый результат developer.android.com/training/basics/activity -lifecycle/ Вы не можете видеть его в приложении -› работающим, потому что оно на самом деле не работает, как в случае, у него нет запущенного фонового потока, когда оно больше не находится на переднем плане, это просто остановлен, и информация о его переменной состояния временно сохраняется до тех пор, пока вы не откроете его повторно, ИЛИ не будет удалена, если системе потребуются эти ресурсы. - person LuckyMe   schedule 20.08.2013