Sobes.tech
Middle+

Parlez des antipatterns dans le développement Android.

sobes.tech IA

Réponse de l'IA

  • Utilisation de AsyncTask pour des opérations longues (il vaut mieux utiliser Kotlin Coroutines ou RxJava).
  • Passage de View/Context dans ViewModel (provoque des fuites de mémoire).
  • Héritage direct de Activity ou Fragment pour la logique de base (il vaut mieux utiliser la composition).
  • Encodage rigide des chaînes, nombres, couleurs au lieu d'utiliser des ressources.
  • Blocage du thread principal (MainThread) avec des opérations synchrones longues.
  • Utilisation de variables statiques pour stocker des données nécessitant un cycle de vie.
  • Utilisation excessive de layouts imbriqués, ce qui entraîne des problèmes de performance (ConstraintLayout ou LinearLayout avec poids est préférable).
  • Absence de gestion des changements de configuration (rotation d'écran, changement de langue).
  • Accès direct aux bases de données ou opérations réseau depuis le thread UI.
  • Mauvaise utilisation de SharedPreferences pour stocker de gros objets ou des données sensibles.
  • Absence de gestion des exceptions ou mauvaise mise en œuvre (par exemple, blocs catch vides).
  • Utilisation d'intentions implicites sans vérifier la présence d'activités appropriées (resolveActivity).
  • Gestion incorrecte des abonnements (par exemple, en RxJava), ce qui entraîne des fuites.

Exemple d'imbrication excessive de layouts:

<!-- Mauvais -->
<LinearLayout>
    <LinearLayout>
        <TextView/>
    </LinearLayout>
</LinearLayout>

<!-- Bon -->
<LinearLayout>
    <TextView/>
</LinearLayout>