Sobes.tech
Middle+

Räägi Androidi arendamise antipatternidest.

sobes.tech AI

Vastus AI-lt

  • Pikkade operatsioonide jaoks kasutage AsyncTask (parem on kasutada Kotlin Coroutines või RxJava).
  • View/Context edastamine ViewModelile (põhjustab mälulekkeid).
  • Põhilise loogika jaoks otse Activity või Fragment pärimine (parem on kasutada koostamist).
  • Ridade, numbrite, värvide rangeerimine ressursside asemel.
  • Pikaajaliste sünkroonsete operatsioonidega peamise niidi (MainThread) blokeerimine.
  • Statiliste muutujate kasutamine andmete salvestamiseks, mis nõuavad elutsüklit.
  • Liiga palju sisse ehitatud paigutusi, mis põhjustavad jõudlusprobleeme (ConstraintLayout või LinearLayout koos kaalu on parem).
  • Konfiguratsioonimuutuste (ekraani pööramine, keele muutmine) töötlemise puudumine.
  • Otse andmebaaside või võrgutoimingute kasutamine UI niidist.
  • SharedPreferences vale kasutamine suurte objektide või konfidentsiaalsete andmete salvestamiseks.
  • Väljaheidete töötlemise või selle vale rakendamise puudumine (näiteks tühjad catch plokid).
  • Ebaselgete kavatsuste kasutamine ilma sobivate tegevuste olemasolu kontrollimata (resolveActivity).
  • Vale tellimuste haldamine (näiteks RxJava-s), mis põhjustab lekked.

Liiga palju sisse ehitatud paigutuse näide:

<!-- Halb -->
<LinearLayout>
    <LinearLayout>
        <TextView/>
    </LinearLayout>
</LinearLayout>

<!-- Hea -->
<LinearLayout>
    <TextView/>
</LinearLayout>