OutOfMemoryError çökməsi
Xəta mətni
java.lang.OutOfMemoryError: Failed to allocate a 33177612 byte allocation with 25165824 free bytes and 24MB until OOM
Səbəb
Tətbiq cihazın verdiyi yaddaş həddini aşır. Ən çox böyük şəkillər, sızan obyektlər və ya böyük siyahılar günahkardır.
Addım-addım həll
dumpsys meminfoilə yaddaş istifadəsini izlə.- Şəkilləri tam ölçüdə yox, ekran ölçüsündə yüklə (Glide, Coil və ya
inSampleSize). Activity-yə statik istinad və dinləyicilərin silinməməsi kimi sızıntıları axtar (LeakCanary).- Böyük siyahılarda
RecyclerViewvə səhifələmə istifadə et. largeHeapyalnız müvəqqəti çarədir, əsl səbəbi düzəlt.
Nümunə əmrlər
adb shell dumpsys meminfo com.example.app adb shell am dumpheap com.example.app /data/local/tmp/h.hprof # manifest <application android:largeHeap="true" ...>
Təkrarlanmasın deyə
Debug-da LeakCanary işlət, yaddaş profilini hər böyük funksiyadan sonra yoxla.
Müəllif və lisenziya: Nibras Code
- APK qurulmur
- Parse error nədir?
- Keystore itdi
- İmzalar uyğun gəlmir
- Paket adı xətası
- APK faylı zədələnib
- Play Protect bloklayır
- Paket etibarsız görünür
- Yaddaş çatmır
- Telefon uyğun deyil
- Köhnə versiya qurulmur
- XAPK qurulmur
- Gradle sync alınmadı
- Asılılıq tapılmadı (Could not resolve)
- Duplicate class xətası
- Manifest merger failed
- Dex limiti: 65536 metod
- R8: Missing class
- JDK versiyası uyğun gəlmir
- SDK location not found
- minSdkVersion toqquşması
- compileSdk çox aşağıdır
- EAS build: Gradle xətası
- expo prebuild xətası
- Metro: Unable to resolve module
- Hermes: yalnız release-də JS xətası
- Release-də ağ ekran
- Qırmızı ekran: Metro-ya qoşulmur
- Expo SDK versiyası uyğun gəlmir
- Capacitor sync xətası
- Capacitor: ağ ekran
- EAS: keystore və credentials xətası
- Keystore tampered / parol yanlış
- Açar alias və ya parolu səhvdir
- Play: səhv açarla imzalanıb
- INSTALL_FAILED_UPDATE_INCOMPATIBLE
- INSTALL_FAILED_VERSION_DOWNGRADE
- INSTALL_FAILED_INSUFFICIENT_STORAGE
- INSTALL_FAILED_NO_MATCHING_ABIS
- Paketi təhlil etmə xətası (Parse error)
- «App not installed» xətası
- AAB faylını telefona qurmaq
- adb: cihaz «unauthorized»
- adb: cihaz tapılmır
- adb server versiyası uyğun gəlmir
- Activity class does not exist
- Play: targetSdk səviyyəsi aşağıdır
- Play: icazə siyasəti rədd etdi
- Play: 64-bit tələbi
- Play: versionCode artıq istifadə olunub
- ClassNotFound / NoSuchMethod çökməsi
- CLEARTEXT communication not permitted
- SecurityException: icazə verilməyib