Junior — Middle
Ilovalarda xotira oqib chiqishini oldini olish uchun qanday usullar mavjud?
sobes.tech AI
AIdan javob
Android ilovalarida xotira oqishi quyidagi usullar bilan oldini olinishi mumkin:
- Resurslarni bo'shatish: Cursor, InputStream, OutputStream va boshqa resurslarni har doim foydalanishdan so'ng yopish.
- Contextga kuchli referenslardan qochish: Activity yoki Contextga referenslarni statik o'zgaruvchilarda saqlamang, shunda axlat to'plovchi to'sqinlik qilmaydi.
- WeakReference dan foydalanish: axlat to'plovchini to'sqinlik qilmaydigan obyektlar uchun.
- Tinglovchilar va callbacklardan chiqish: Activity yoki Fragmentni yo'q qilishda, barcha tinglovchilardan chiqib, referenslarni saqlashdan qoching.
- Tsiklik referensiyalarni tekshirish: ayniqsa, nomli sinflar va lambda holatida.
- Profil vositalaridan foydalanish: Android Profiler, LeakCanary xatoliklarni aniqlash va tahlil qilish uchun.
WeakReference dan foydalanish misoli:
class MyClass(context: Context) {
private val contextRef = WeakReference(context)
fun doSomething() {
val ctx = contextRef.get()
ctx?.let {
// kontekst bilan ishlash
}
}
}