Domanda

Quando gli utenti preme il pulsante Indietro nella mia applicazione. Ecco lo scenario:

    .
  1. L'utente avvia l'applicazione - attività mostra
  2. L'utente preme il pulsante Indietro
  3. L'utente riavvia l'applicazione. A questo punto applicazione mostra solo uno schermo vuoto, nessuno dei pulsanti (home / back) risponde, dopo Una finestra di dialogo della chiusura forzata del tempo arriva.
    Nota: se l'utente preme "Home" e quindi rilancia l'app, ciò non accade, solo se l'utente preme "indietro" e quindi rilancialo.

    In My OnCreate () Ho qualche codice di configurazione di rete. Tuttavia, OnDestroy () ha il codice di pulizia corrispondente, quindi non capisco perché questo sta accadendo.

    @Override
    public void onCreate(Bundle savedInstanceState) {
        Log.d(DEBUG_TAG, "onCreate()");
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    
         // Aquire the multicast lock
         // Create an instance of JmDNS
         // Add a listener for Bonjour services of a given type 
    }
    
    @Override
    protected void onDestroy() {
        Log.d(DEBUG_TAG, "onDestroy()");
         // Remove the services listener 
         // Set the reference to JmDNS instance null
         // Release the multicast lock
        super.onDestroy();
    }
    
    .

    Non sei sicuro di cosa sta succedendo, e non so come eseguire il debug.

    Interessante - "Browser Zeroconf" Un'app popolare che ho scaricato dal mercato Android da utilizzare per il debug Il mio - sembra avere lo stesso problema.

    Modifica: modificato il codice da OnStart () / OnSTOP () su OnCreate () / OnDestroy (). Lo stesso problema di prima.

    Modifica: per chiunque corre in un problema simile, questo è ciò che stava causando la mia sofferenza. Il codice Android non era il colpevole: http://sourceforge.net/tracker/index.php?func= Dettagli & AID= 2933183 & GROUP_ID= 93852 & ATID= 605791

È stato utile?

Soluzione

You may be making network requests on the UI thread. You might checkout Painless Threading and AsyncTask for handling that.

Note that it might be a good idea to do your setup and tear-down in onCreate and onDestroy. onStart can be called multiple times during the activity's life cycle; is your code guarding against this case?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top