Sobes.tech
Junior — Middle

Tətbiqlərdə yaddaş sızıntılarını qarşısını almaq üçün hansı metodlar istifadə oluna bilər?

sobes.tech Süni İntellekt

AI-dan cavab

Android tətbiqlərində yaddaş sızıntıları aşağıdakı üsullarla qarşısı alına bilər:

  • Resursların azad olunması: Cursor, InputStream, OutputStream və digər resursları istifadə etdikdən sonra həmişə bağlayın.
  • Context-ə güclü istinadlardan qaçın: Activity və ya Context-ə istinadları statik dəyişənlərdə saxlamayın ki, çöp toplayıcıya mane olmasın.
  • WeakReference istifadə edin: çöp toplayıcını maneə törətməyən obyektlər üçün.
  • Dinləyicilər və callback-lərdən çıxış: Activity və ya Fragment-i məhv edərkən, bütün dinləyicilərdən çıxın ki, istinadlar saxlanmasın.
  • Dairəvi istinadların yoxlanması: xüsusən anonim siniflər və lambda ifadələri üçün.
  • Profil vasitələrindən istifadə: Android Profiler, LeakCanary sızıntıları aşkar və analiz etmək üçün.

WeakReference istifadə nümunəsi:

class MyClass(context: Context) {
    private val contextRef = WeakReference(context)

    fun doSomething() {
        val ctx = contextRef.get()
        ctx?.let {
            // kontekstlə işləmək
        }
    }
}