Майлон >>>
Целью никогда не было работать со списком из нескольких сотен пунктов, но ...
Я проверил общий пользовательский опыт с 10 000 элементов и выбором 1000-5000 элементов за один раз (и изменения 1000-3000 элементов как в выбранных, так и в невыбранных) ...
Общая продолжительность расчета никогда не превышала 0,1 с, некоторые из самых высоких измерений составляли 0,04 с. Я обнаружил, что это вполне приемлемо для такого количества элементов.
А из 10.000 предметов простая инициализация списка занимает более 10 секунд, поэтому в этот момент я бы подумал, что в игру вступят другие вещи, как отмечает Виртуализация, как отмечает Джо Чунг.
Тем не менее, должно быть ясно, что код не является оптимальным решением в том, как он вычисляет разницу в выборе, при необходимости это можно значительно улучшить, и различными способами я сосредоточился на понимании концепции с помощью код, а не производительность.
Однако, если вы испытываете ухудшение производительности, я очень заинтересован в некоторых из следующих действий:
- Сколько предметов в списке?
- Сколько выделенных / отмененных элементов одновременно?
- Сколько приблизительно нужно времени, чтобы событие поднялось?
- Аппаратная платформа?
- Подробнее о случае использования?
- Другая важная информация, о которой вы можете подумать?
В противном случае нелегко помочь улучшить решение.