JavascriptProva

giovedì 28 luglio 2016

Studio sulla finestra dei recents.

Ora vediamo le modifiche degli status quando si passi da un'activity a un'altra mediante un Intent.

Dopo aver inserito nell'altra Activity FORM tutti i markers dei cambi di status, inserisco in MAIN il codice per passare a FORM.
 @Override
 public void onStart(){
  super.onStart();
  Log.v("MAIN", "ONSTART");
  Intent intent =new Intent(this,Form.class);
  startActivity(intent);
 }
Ecco:
07-28 18:44:55.776: V/MAIN(17395): ONCREATE
07-28 18:44:55.776: V/MAIN(17395): ONSTART
07-28 18:44:55.796: V/MAIN(17395): ONRESUME
07-28 18:44:55.836: V/MAIN(17395): ONPAUSE
07-28 18:44:56.046: V/FORM(17395): ONCREATE
07-28 18:44:56.046: V/FORM(17395): ONSTART
07-28 18:44:56.046: V/FORM(17395): ONRESUME
07-28 18:44:56.146: V/MAIN(17395): ONSTOP

Dunque MAIN va prima in "paused", quindi si crea FORM e una volta completate le tre fasi della creazione di FORM, MAIN va in "stopped".

Quando poi vado al tasto Overview:
07-28 18:47:47.774: V/FORM(17395): ONPAUSE
07-28 18:47:48.395: V/FORM(17395): ONSTOP
anche FORM va in "stopped".

Quindi spazzo via le activities dalla finestra "recenti":
07-28 18:51:55.325: V/MAIN(17986): ONDESTROY
07-28 18:51:55.365: V/FORM(17986): ONDESTROY
Ora, cosa succede con l'istruzione finish()?
Ci provo: la assegno a un Button.
  button=(Button)findViewById(R.id.button1);
  button.setOnClickListener(new View.OnClickListener() {
   
   @Override
   public void onClick(View v) {
    finish();
    
   }
  });
07-28 23:33:14.535: V/MAIN(10805): ONPAUSE
07-28 23:33:15.196: V/MAIN(10805): ONSTOP
07-28 23:33:15.196: V/MAIN(10805): ONDESTROY
Ciononostante, la finestra dell'app rimane sui recents... Quindi stare sui recents non implica l'esistenza della finestra.
Cliccando sulla finestra:
07-28 23:36:36.122: V/MAIN(11725): ONCREATE
07-28 23:36:36.122: V/MAIN(11725): ONSTART
07-28 23:36:36.122: V/MAIN(11725): ONRESUME
Si ricrea da capo.

Nessun commento:

Posta un commento