Мой поставщик данных для сетки - это arrayCollection, которая динамически загружается с объектами.например: объект person с persionID, PersonName .. и т. д.Я применил функцию фильтра к своему провайдеру данных на основе personID.ниже моя функция
public function FilterFunc(item:Object):Boolean
{
var same:Boolean=String(item.personID ) == filterpersonID ;
return same;
}
эта функция прекрасно работает всякий раз, когда я изменяю свой filterpersonID на person1, person2 ..., показывая соответствующие изменения.Но когда я применил функцию, чтобы ограничить количество элементов в сетке, например
private function DPSizeHandler(dp:ArrayCollection):void
{
if (dp.length > 100)
dp.removeItemAt(0);
}
, эта функция вызывается всякий раз, когда новый объект добавляется в коллекцию массивов.Теперь проблема состоит в том, что dp.length в вышеприведенной функции возвращает только абсолютное значение объекта no конкретного человека, к которому была применена функция filterFunction.Это не ограничивает размер других объектов, которые сталкиваются с тысячами проблем с памятью.как только я изменяю функцию filterFunction на другой personID, он начинает медленно ограничивать соответствующие объекты personID.Таким образом, sizeHandler () ограничивает только объекты personID, для которых была применена функция фильтра, а не целые объекты, это проблема.
PS: я загружаю эти объекты в коллекцию массивов из очереди JMS, используя потребительский компонент BlazeDSдовольно быстроя был бы очень признателен за любую помощь по этой проблеме