Middle+
Android өнүктүрүүдө антипаттерндер жөнүндө айтып бер.
sobes.tech AI
AIден жооп
- Узак мөөнөттүү операциялар үчүн
AsyncTaskколдонуу (жакшыраак Kotlin Coroutines же RxJava колдонуу). - View/Contextти ViewModelге өткөрүү (жадды агып кетүүгө алып келет).
- Негизги логика үчүн түздөн-түз
ActivityжеFragmentтен мурас алуу (жакшыраак композицияны колдонуу). - Ресурстарды колдонбостон катуу коддолгон саптар, сандар, түстөрдү колдонуу.
- Узун синхрондук операциялар менен негизги ағынды (
MainThread) бөгөттөө. - Жашоонун цикли талап кылган маалыматтарды сактоо үчүн статикалык өзгөрмөлөрдү колдонуу.
- Өтө көп киргизилген layoutтарды колдонуу, бул иштөө жөндөмүнө көйгөй жаратышы мүмкүн (
ConstraintLayoutжеLinearLayoutменен салмак жакшы). - Конфигурация өзгөрүүлөрүн (экранын айландыруу, тилдин өзгөрүшү) иштетпөө.
- UI ағынынан түздөн-түз маалымат базаларына же тармактык операцияларга кирүү.
SharedPreferences'ти чоң объекттер же сырдуу маалыматтарды сактоо үчүн туура эмес колдонуу.- Исключениелерди иштетүү же анын туура эмес ишке ашырылышы (мисалы, бош
catchблоктору). - Туура эмес активдүүлүктөрдү текшербестен жасалган ниеттерди колдонуу (
resolveActivity). - RxJava сыяктуу жазылууларды туура эмес башкаруу, бул агып кетүүгө алып келет.
Көп киргизилген layout мисалы:
<!-- Жаман -->
<LinearLayout>
<LinearLayout>
<TextView/>
</LinearLayout>
</LinearLayout>
<!-- Жакшы -->
<LinearLayout>
<TextView/>
</LinearLayout>