Intereting Posts
Отображение маркера в geo: -url на Android-картах Android хранит ключ, декомпилирует страх Ошибка: createWindowSurface не удалось выполнить EGL_BAD_ALLOC Как установить разные цвета нажатых состояний для каждого элемента списка? Каков правильный способ применения Tap To Focus для камеры? PercentRelativeLayout – предупреждение об ошибке layout_width Что происходит, когда я «удаляю» платные приложения из Apple и Android App Store? Фрагмент Android для восстановления View Android Material Design – Как изменить цвет фона панели инструментов после CollapsingToolbarLayout рухнул Android Context.bindService всегда возвращает false, а объект ServiceConnection никогда не запускается Реализация диалогового окна File в Android TV Leanback Динамическая загрузка изображений R.Drawable с использованием переменной ImageView – нарисовать полупрозрачный цвет сверху для его сфокусированного состояния? Альтернатива addPreferencesFromResource как устаревшая ViewDataBinding getVariable?

Android.database.CursorWindowAllocationException при перемещении курсора

Я использую базу данных SQLite, и я регулярно получаю ошибки времени выполнения, я не могу найти происхождение. После запроса я использую moveToFirst чтобы указать на первую полученную запись, и это иногда вызывает исключение android.database.CursorWindowAllocationException . К этому исключению добавляется следующее предложение: «Не удалось выполнить выделение окна курсора 2048 КБ. # Open Cursors = 736 (#cursors opendby this proc = 736)».

В документации на Android я еще не нашел ничего, связанного с этим исключением. Кто-нибудь знает, что это причина и способ избежать этого?

Solutions Collecting From Web of "Android.database.CursorWindowAllocationException при перемещении курсора"

Эта ошибка почти всегда связана с тем, что она не закрывает курсор, когда он закончен. Каждый раз, когда вы открываете курсор, требуется память для отображения данных, отображаемых курсором, и эта память не может быть освобождена до тех пор, пока курсор не будет закрыт. Ограничение объема памяти, доступного для этой цели, поэтому, если курсоры не закрыты, и приложение продолжает открывать новые, эта ошибка, вероятно, произойдет в какой-то момент.

Я рекомендую вам изучить свой код, чтобы убедиться, что все созданные курсоры закрываются в какой-то момент. Также позаботьтесь о любом коде, который открывает курсор в цикле – ваше сообщение об ошибке говорит «open Cursors = 736», что предполагает много активности курсора в каком-то цикле.