Middle+
Խոսեք Android-ի զարգացման հակատիպերի մասին։
sobes.tech AI
Պատասխան AI-ից
- Օգտագործել
AsyncTaskերկարատև գործողությունների համար (լավ է օգտագործել Kotlin Coroutines կամ RxJava): - View/Context փոխանցել ViewModel-ին (պատճառում է հիշողության հոսք):
- Բազային տրամաբանության համար ուղղակի ժառանգել
ActivityկամFragment-ից (լավ է օգտագործել կոմպոզիցիա): - Սթրինգների, թվերի, գույների կոշտ կոդավորում փոխարեն օգտագործել ռեսուրսներ:
- Հիմնական հոսքի (
MainThread) փակել երկար սինխրոն գործողություններով: - Ստատիկ փոփոխականների օգտագործում տվյալների պահպանման համար, որոնք պահանջում են կյանքի ցիկլ:
- Ավելորդ ներսի Layout-ների օգտագործում, ինչը հանգեցնում է կատարողականի խնդիրների (
ConstraintLayoutկամLinearLayoutwith weight ավելի լավ է): - Կոնֆիգուրացիայի փոփոխությունների (էկրանին պտտում, լեզվի փոփոխություն) չմշակումը:
- Ուղիղ մուտք դեպի տվյալների բազան կամ ցանցային գործողություններ UI հոսքից:
SharedPreferences-ի սխալ օգտագործում մեծ օբյեկտներ կամ գաղտնի տվյալներ պահելու համար:- Ելքային սխալների չմշակումը կամ սխալ իրականացումը (օրինակ, դատարկ
catchբլոկներ): - Անորոշ նպատակների օգտագործում առանց համապատասխան ակտիվությունների առկայության ստուգման (
resolveActivity): - Գրանցումների սխալ կառավարում (օրինակ, RxJava-ում), ինչը հանգեցնում է հոսքերի:
Ավելորդ Layout-ների օրինակ:
<!-- Խարդախ -->
<LinearLayout>
<LinearLayout>
<TextView/>
</LinearLayout>
</LinearLayout>
<!-- Լավ -->
<LinearLayout>
<TextView/>
</LinearLayout>