Middle+
Parlez des antipatterns dans le développement Android.
sobes.tech IA
Réponse de l'IA
- Utilisation de
AsyncTaskpour 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
ActivityouFragmentpour 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 (
ConstraintLayoutouLinearLayoutavec 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
SharedPreferencespour stocker de gros objets ou des données sensibles. - Absence de gestion des exceptions ou mauvaise mise en œuvre (par exemple, blocs
catchvides). - 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>