Pregunta

Cuando los usuarios presionan el botón Atrás en mi solicitud. Aquí está el escenario:

  1. usuario inicia la aplicación - actividad muestra
  2. usuario presiona el botón Atrás
  3. El usuario reinicia la aplicación. En esta aplicación de puntos solo muestra una pantalla en blanco, ninguno de los botones (Inicio / Atrás) responde, después Se aparece algún diálogo de fuerza de fuerza-cierre.
    NOTA: Si el usuario presiona "Inicio" y luego relanza la aplicación, esto no sucede, solo si el usuario presiona "ATRÁS" y luego relanzó.

    En mi OnCreate () Tengo algún código de configuración de red. Sin embargo, OnDestroy () tiene el código de limpieza correspondiente, por lo que no entiendo por qué está sucediendo esto.

    @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();
    }
    

    No estoy seguro de lo que está pasando, y no sé cómo depurar esto.

    Curiosamente - "Zeroconf Browser" Una aplicación popular que descargué desde Android Market para usar para depurar El mío - parece tener el mismo problema.

    Editar: cambió el código de ONSTART () / OnDestop () a OnCreate () / OnDestroy (). El mismo problema que antes.

    Editar: Para cualquier persona que se ejecute en un problema similar, esto es lo que causó mi miseria. El código de Android no fue el culpable: http://sourceforge.net/tracker/index.php?func= Detalle y amp; ayuda= 2933183 & group_id= 93852 & atid= 605791

¿Fue útil?

Solución

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?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top