어떻게 내 저장된 엔트리가 아래에있는 객체의 거대한 블록을 이동합니까?
그렇지 않습니다. 이전에 알려 주신 바와 같이 의 DisplayList
이 크게 증가하면 메모리 오버 헤드가 증가하고 Display Objects
을 관리하는 관리 작업으로 인해 결국 성능이 저하됩니다. 지금까지 가지고있는 것을 구현하는 방법에 대한 자세한 내용은 언급하지 않으므로 내 의견은 일반적인 것이 될 것입니다.
다양한 플랫폼에 의해 처리되는 방법 Flex, iOS 및 iOS에서 목록 구성 요소은 플래시가 필요한 최소한의 개체 수만 표시하는 것으로 사용자가 스크롤 할 때 개체가 내부 및 외부로 이동합니다 렌더링리스트 추가 최적화는 재사용되는 "템플리트"오브젝트의 "풀"을 사용하여 초기화 시간 패널티를 지불하지 않는 것입니다. 이 "... 버퍼링 ..."기술에 대한 실제 이름이 있을지 모르지만 나는 그것이 무엇인지 (잘하면 어떤 사람이 그것을 제공 할 것이고 어떻게 작동하는지에 대한 자세한 설명에 대한 링크) 알지 못합니다.
그리고 어떻게 작동하는지 - 사용자가 스크롤 할 때 어떤 물체가 화면 밖으로 이동하고 재생할 수 있는지, 화면 상을 이동하려고하는지 등을 알아내어 DIY 할 수 있습니다. 물론 모두는 Array
, ArrayList
또는 ArrayCollection
과 같은 데이터 구조에 객체를 저장했다고 가정합니다. 이 모든 것을 처음부터 코딩하는 대신에 DataGrid 또는 List 구성 요소가 사용자의 요구를 충족시키는 지 확인할 수 있습니다.이 구성 요소는 모두이를 관리합니다.
Flash Tutorial: The DataGrid Component (YouTube 동영상) 밖에 다른 예와 자원의
Customize the List component
많이.
는 (다시, 나는 데이터 그리드 및 기타 목록 기반 구성 요소가 시각적 스타일 "스킨"과 사용자 정의 항목 렌더러 사용하여 광범위하게 정의 할 수있는 플렉스에서 일 - 그것은 플래시에서 동일한 경우 확실하지)를
"* 초기화 시간 벌금을 지불하십시오 *"내가 본 것만 큼 파괴 시간 벌칙이 더 많습니다. 가비지 컬렉터는 임계 값에 도달 할 때까지 쓰레기를 계속 쌓습니다. 그런 다음 실제로 약간의 성능이 필요한 객체를 삭제하면 프레임이 생략 될 수 있습니다. 개체가 GC에 의해 수집되는 것을 방지하여 메모리에 남아 강제로 메모리가 부족하지 않도록 다시 사용하는 방법은 "개체 풀링"입니다. – null