2012-06-29 13 views
9

Sé que system.exit (0) no debería ser utilizado. He leído muchos tutoriales y he explicado por qué no se recomienda para salir de aplicaciones y finish() es una mejor alternativa, pero en casos muy raros cuando se utiliza esta sucia solución que mi pregunta principal es , puede dañar el dispositivo Android o cualquier aspecto del dispositivo si se usa?System.exit() en android

Respuesta

9

respuesta corta: No.

respuesta larga: No, no daña el dispositivo o cualquier aspecto del dispositivo. Simplemente elimina la aplicación de la memoria y limpia todos los recursos utilizados. Si tiene archivos abiertos, pueden dañarse, pero el sistema de archivos no. Android debería liberar todos los recursos (GPS, WiFi, etc.) que tenga en uso en ese momento, pero podrían estar en un estado indefinido. Compare los efectos de System.exit() con un error de aplicación: eso tampoco afectaría a su dispositivo.

1

No se recomienda llamar al System.exit(0) en cualquier lugar fuera del método "principal" de una aplicación por las siguientes razones.

  1. Es un impedimento para reutilizar su código.

  2. Hace las pruebas unitarias duras. Por ejemplo, si su código llama a System.exit cuando algunas pruebas ejercen algún tipo de manejo de error, terminará la prueba al encontrar System.exit(0).

+0

Solo quiero saber el impacto que tiene en el dispositivo o su memoria? – Altavista

+0

La respuesta lo transmite claramente. No dañará su dispositivo en absoluto. Es solo que dificulta las pruebas unitarias de su aplicación. –

1

No dañará su dispositivo. Lo único delicado es que Android podría devolverle la vida a tu aplicación de inmediato debido a la arquitectura de transmisión/recepción con intención asincrónica. Digamos que acaba de publicar algo que una actividad de su aplicación escucha. Y luego sales. Pero Android hará que tu aplicación vuelva a la vida para manejar la transmisión.

Cuestiones relacionadas