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
}
}
}