Я прочитал все форумы, но так и не понял разницу. Я создал простое приложение, чтобы попробовать и проверить, когда какой метод вызывается. Для этого я просто поместил логгеры в каждый метод.
Из моих испытаний -
- Всплывающие окна не вызывают ни одного метода.
- При переключении на другое действие вызываются оба метода.
- При опускании панели уведомлений ни один из методов не вызывается.
Я пытаюсь найти сценарии где onPause вызывается, а onStop нет.
Цель состоит в том, чтобы понять, требуется ли вообще определение onPause. Если сценарии, в которых вызывается только onPause, настолько редки, то даже нет смысла писать отдельный код для onPause. Разве недостаточно написать onStop?
public class LifecycleActivity extends ActionBarActivity {
@Override
protected void onDestroy() {
super.onDestroy();
Log.d("Rachit", "In Destroy Method");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lifecycle);
Log.d("Rachit", "In Create Method");
}
@Override
protected void onStart() {
super.onStart();
Log.d("Rachit", "In Start Method");
}
@Override
protected void onResume() {
super.onResume();
Log.d("Rachit", "In Resume Method");
}
@Override
protected void onPause() {
super.onPause();
Log.d("Rachit", "In Pause Method");
}
@Override
protected void onRestart() {
super.onRestart();
Log.d("Rachit", "In Restart Method");
}
@Override
protected void onStop() {
super.onStop();
Log.d("Rachit", "In Stop Method");
}
}
Подробнее здесь: https://stackoverflow.com/questions/311 ... not-onstop