¿Cuál es el ciclo de vida de un fragmento cuando se llama a replace ()?

Tengo varios fragmentos que se agregan dinámicamente usando el siguiente código:

private class DrawerItemClickListener implements ListView.OnItemClickListener {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        selectItem(position);
    }
}

private void selectItem(int position) {
    // update the main content by replacing fragments
    Fragment fragment = null;
    if(position == 0){
        fragment = new FirstFragment();
    }
    else if(position == 1){
        fragment = new SecondFragment();
    }
    else if(position == 2){
        fragment = new ThirdFragment();
    }

    FragmentManager fragmentManager = getSupportFragmentManager();
    fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();

    // update selected item and title, then close the drawer
    mDrawerList.setItemChecked(position, true);
    setTitle(mCalculatorTitles[position]);
    mDrawerLayout.closeDrawer(mDrawerList);
}

En uno de mis fragmentos tengo un temporizador y acabo de descubrir que cuando el fragmento se reemplaza, el temporizador en el fragmento anterior todavía se está ejecutando. ¿En qué parte del ciclo de vida de mi fragmento debo matar el temporizador?

EDITAR:

Bien, así que agregué un timer.cancel () en el método onStop () del fragmento, pero también se llama a onStop () cuando cargo las preferencias desde un botón en la barra de acción. Este no es el efecto deseado. ¿Alguna otra idea?

Respuestas a la pregunta(2)

Su respuesta a la pregunta