Мне нужна помощь в ускорении процесса фильтрации длинного списка элементов списка и их просмотра в ListView.
Мое приложение имеет панель поиска, ListView и очень длинный список строк на выбор.
Когда пользователь вводит критерий поиска, ListView обновляется при каждом нажатии клавиши и отфильтровывает нерелевантные элементы.
Сама сортировка занимает несколько миллисекунд, но последующее обновление ListView новым событием filter занимает много времени (20 секунд легко, если в качестве критерия поиска был введен только один символ)
Я полагаю, что время затрачивается на большое количество ViewCells каждый раз, когда обновляется отфильтрованный список.
Кто-нибудь из вас знает, как ускорить процесс? Я подумал, что он может работать с очень ограниченным числом ViewCells (например, 10 или 20), а затем обновлять их и просто отображать выбор отфильтрованного списка. При прокрутке можно было бы повторно использовать верхнюю / нижнюю часть, обновить содержимое и поместить его обратно в нижнюю / верхнюю часть, но я не смог понять, как это сделать.
Может быть, это неправильный подход, и вы знаете лучший способ?