Sobes.tech
Middle+

Vertel over antipatterns in Android-ontwikkeling.

sobes.tech AI

Antwoord van AI

  • Gebruik van AsyncTask voor lange operaties (beter Kotlin Coroutines of RxJava gebruiken).
  • View/Context doorgeven aan ViewModel (leidt tot geheugenlekken).
  • Direct erven van Activity of Fragment voor basislogica (beter compositie gebruiken).
  • Starre codering van strings, nummers, kleuren in plaats van resources te gebruiken.
  • Blokkeren van de hoofdthread (MainThread) met lange synchronisatie-operaties.
  • Gebruik van statische variabelen om gegevens op te slaan die een levenscyclus vereisen.
  • Overmatig gebruik van geneste layouts, wat prestatieproblemen veroorzaakt (ConstraintLayout of LinearLayout met gewicht is beter).
  • Gebrek aan afhandeling van configuratiewijzigingen (schermrotatie, taalwisseling).
  • Directe toegang tot databases of netwerkoperaties vanuit de UI-thread.
  • Onjuist gebruik van SharedPreferences voor het opslaan van grote objecten of vertrouwelijke gegevens.
  • Gebrek aan foutafhandeling of onjuiste implementatie (bijvoorbeeld lege catch-blokken).
  • Gebruik van impliciete intenties zonder controle op de aanwezigheid van geschikte activiteiten (resolveActivity).
  • Onjuist beheer van abonnementen (bijvoorbeeld in RxJava), wat leidt tot geheugenlekken.

Voorbeeld van overmatig geneste layouts:

<!-- Slecht -->
<LinearLayout>
    <LinearLayout>
        <TextView/>
    </LinearLayout>
</LinearLayout>

<!-- Goed -->
<LinearLayout>
    <TextView/>
</LinearLayout>