Sobes.tech
Middle+

Pastāsti par antipatterniem Android izstrādē.

sobes.tech AI

Atbilde no AI

  • Ilgstošu operāciju veikšanai izmantojiet AsyncTask (labāk ir izmantot Kotlin Coroutines vai RxJava).
  • View/Context pārsūtīt uz ViewModel (izraisa atmiņas noplūdi).
  • Pamatloģikai tieši mantojoties no Activity vai Fragment (labāk ir izmantot kompozīciju).
  • Stingri kodētus virknes, skaitļus, krāsas vietā izmantojiet resursus.
  • Bloķēt galveno pavedienu (MainThread) ar ilgām sinhronām operācijām.
  • Statisko mainīgo izmantošana datu glabāšanai, kas prasa dzīves ciklu.
  • Pārāk daudz iekļautu layout, kas rada veiktspējas problēmas (ConstraintLayout vai LinearLayout ar svaru ir labāk).
  • Konfigurācijas izmaiņu (ekrāna apgriešana, valodas maiņa) apstrādes trūkums.
  • Tieša pieeja datu bāzēm vai tīkla operācijām no UI pavediena.
  • Nepareiza SharedPreferences izmantošana lielu objektu vai konfidenciālu datu glabāšanai.
  • Izņēmumu apstrādes trūkums vai nepareiza realizācija (piemēram, tukši catch bloki).
  • Neatbilstošu nodomu izmantošana bez pārbaudes, vai ir pieejamas atbilstošas aktivitātes (resolveActivity).
  • Nepareiza abonementu pārvaldība (piemēram, RxJava), kas noved pie noplūdēm.

Pārāk daudz iekļautu layout piemērs:

<!-- Slikti -->
<LinearLayout>
    <LinearLayout>
        <TextView/>
    </LinearLayout>
</LinearLayout>

<!-- Labai -->
<LinearLayout>
    <TextView/>
</LinearLayout>