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
ActivityvaiFragment(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 (
ConstraintLayoutvaiLinearLayoutar 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
SharedPreferencesizmantošana lielu objektu vai konfidenciālu datu glabāšanai. - Izņēmumu apstrādes trūkums vai nepareiza realizācija (piemēram, tukši
catchbloki). - 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>