Sobes.tech
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
        }
    }
}