Sobes.tech
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 AsyncTask istifadə 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 Activity və ya Fragment-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 (ConstraintLayout və ya LinearLayout ilə weight daha 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ş catch blokları).
  • 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>