Как реализовать пул объектов для средств визуализации Flex Data / Item - PullRequest
0 голосов
/ 06 октября 2010

Вы можете достаточно легко подключиться к созданию средств визуализации элементов Flex 4 (через itemRenderer или itemRendererFunction), позволяя извлекать средства визуализации из пользовательского пула объектов, но как бы вы поместили эти средства визуализации обратно в пул?

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

Но даже в случае обычных виртуализированных средств визуализации (где экземпляры повторяются) все равно было бы полезно иметь возможность управлять пулом вручную.Пулы могут быть разделены между группами данных, например, чтобы уменьшить начальный буфер, необходимый для заполнения каждой группы.

Можно ли узнать, когда Flex отбрасывает экземпляр средства визуализации элементов?У меня тонущее чувство, что просто нет надежного способа сказать - хотя, возможно, так и должно быть.

Или есть ли сумасшедший хак, который может сработать (например, держать всех рендеров в пуле и тестировать их сцену?)свойства для определения доступности)?

Ответы [ 2 ]

1 голос
/ 06 октября 2010

Похоже, что SkinnableDataContainer - это то, с чего следует начать.Документация предполагает, что updateRenderer - это место для поиска, но код для него мало что делает.

Он также отправляет события RendererExistenceEvent.RENDERER_ADD и RendererExistenceEvent.RENDERER_REMOVE, которые, возможно, стоит прослушатьибо если вы хотите понять, что происходит.

0 голосов
/ 22 декабря 2010

Это очень интересный вопрос, и RENDERER_REMOVE выглядит как хороший способ хранения экземпляров в пуле после использования. Но я не понимаю, как itemRenderer или itemRendererFunction могут быть использованы для предоставления INSTANCES (вместо классов) группе данных ...

...