Middle+
Android inkişafında antipatternlər haqqında danış.
sobes.tech Süni İntellekt
AI-dan cavab
- Uzun müddətli əməliyyatlar üçün
AsyncTaskistifadə etmək (daha yaxşı Kotlin Coroutines və ya RxJava istifadə etmək). - View/Context-i ViewModel-ə ötürmək (yaddaş sızmasına səbəb olur).
- Əsas logika üçün birbaşa
Activityvə yaFragment-dən irs almaq (birləşdirmə istifadə etmək daha yaxşıdır). - Resurslar yerinə sərt kodlaşdırılmış sətirlər, ədədlər, rənglər istifadə etmək.
- Uzun sinxron əməliyyatlarla əsas axını (
MainThread) bloklamaq. - Həyat dövrü tələb edən məlumatları saxlamaq üçün statik dəyişənlərdən istifadə etmək.
- Performans problemlərinə səbəb olan çoxsaylı iç-içə layoutlar (
ConstraintLayoutvə yaLinearLayoutiləweightdaha yaxşıdır). - Konfiqurasiya dəyişikliklərinin (ekranın döndürülməsi, dilin dəyişdirilməsi) idarə olunmaması.
- UI axınından birbaşa verilənlər bazalarına və ya şəbəkə əməliyyatlarına giriş.
- Böyük obyektləri və ya gizli məlumatları saxlamaq üçün
SharedPreferences-in düzgün olmayan istifadəsi. - İstisnaların idarə olunmaması və ya düzgün tətbiq olunmaması (məsələn, boş
catchblokları). - Uyğun fəaliyyətlərin yoxlanılmaması ilə qeyri-müəyyən niyyətlərdən istifadə.
- RxJava kimi abunəliklərin düzgün idarə olunmaması, bu da sızıntılara səbəb olur.
Çoxsaylı layout nesting nümunəsi:
<!-- Pis -->
<LinearLayout>
<LinearLayout>
<TextView/>
</LinearLayout>
</LinearLayout>
<!-- Yaxşı -->
<LinearLayout>
<TextView/>
</LinearLayout>