¿No es importante para un buen diseño de aplicación de Android (nivel principiante / principiante)?

Alguien puede apuntar a una buena fuente o hacer una breve lista de la programación conceptual de Android que NO debe hacer al diseñar una aplicación?

No quiero que mi pregunta sea vaga, así que daré ejemplos ficticios (que pueden no tener sentido o pueden ser completamente incorrectos) para explicar qué tipo de respuestas estoy buscando son cosas como:

Eg: evitando que esto te ayude a diseñar / programar aplicaciones robustas de Android

No adquiera bloqueos de activación cuando espere una respuesta del servidor O NO tenga esta lógica en OnReceive de un oyente de difusión ... Extender IntentService es mejor que extender Servicios en un escenario bla bla bla No cree hilos dentro de OnDestroy () para actividades ... etc, etc.

Espero que hayas entendido. Sé que estos podrían ser infinitos, pero estoy buscando los más básicos que un principiante / principiante debe tener en cuenta para que sean mejores programadores de Android.

¡Gracias

EDITA

Por diseño, me refiero tanto a la programación (lógica) como a la interfaz de usuario y no a la apariencia y sensación de estar solo.

Informar más importante los que vienen con experiencia y no se mencionan en libros o tutoriales debido a la naturaleza de estos principios / trucos. Puede que no sean absolutamente correctos o incorrectos pero son mejores o peores. Porque no le enseñarán un nuevo concepto, sino que lo ayudarán a deshacerse de un mal hábito de programación / diseño.