매우 큰 응용 프로그램과 함께 arround를 설치해야합니다> 20 가지 기본보기와 양식이 필요합니다. mainview는 최소한 하나의 그리드를 포함 할 것이지만 최대 10 개의 그리드를 포함 할 수 있습니다. 또한 포털 패널이 포함 된 몇 가지 주요보기가 있습니다.거대한 응용 프로그램의 구성 요소를 캐시하는 방법
이제 mainview가 열릴 때까지 꽤 오랜 시간이 걸릴 것입니다. 20 개가 아닌 1 개로 테스트했을 때 문제가되지 않습니다. 응용 프로그램은 Borderlayout이있는 컨테이너를 보유하는 맞춤 레이아웃이 적용된 뷰포트 내에 배치됩니다. Mainview는 항상 가운데에서 렌더링되지만 다른 영역은 탐색에 사용됩니다. 탭 패널을
내
내 첫 번째 방법캐싱 일들이 내 첫 번째 방법은 숨겨진 탭이있는 탭 패널에 도착했다. 그것과 병렬로 MixedCollection
보기가 이미 tabpanel에 삽입되었거나 작성되어야하는 경우 조회를 수행합니다. 이미 삽입 된 경우 MixedCollection에서 positon을 가져 와서 setActiveTab()
을 실행합니다. 그러나 새로운 메인 뷰를 삽입하거나 setActiveTab()을 사용하여 기존의 뷰를 활성화하는 데는 동일한 시간이 걸리기 때문에 아무런 가치가없는 것 같습니다.
그래서 내가 뭘 잘못하고 어떻게하면 더 나아질 수 있습니까?
편집
문제는 rendertime에서와 구성 요소가 사용된다()마다 setActiveTab을 reredenred 얻을 것 같은 올 것으로 보인다. 센터 패널을 볼 때 최대 2-3 초가 걸립니다. 따라서 렌더링 및 크기 조정을 수행 할 필요가 없도록 이미 작성된보기를 캐싱하여 속도를 향상시킬 수 있다고 생각했습니다. 나는 북쪽 지역에서 메뉴가 매번 렌더링된다는 것을 언급해야한다고 생각하는데, 그것은 매번 맛볼 수 없지만 그다지 중요하지 않아야하지 않습니까? 보기가
을 전환하는 방법
은 내가 MENUE 뷰 메인 뷰 변경을 관리하는 별도의 컨트롤러를 가지고있다. 이를 위해 컨테이너가 제거되고 새 메뉴가 추가되고 주 뷰의 경우 뷰가 이미 생성 된 경우 해당 혼합 컬렉션에서 조회가 수행되고 탭 인덱스가 수신되면 탭이 수신되고 탭 활성화되었습니다. 그렇지 않으면보기가 새 탭으로 추가되고 그 뒤에 혼합 된 콜렉션에 대한 ident 및 index가 추가됩니다.
뷰를 동적으로로드 할 수 있으므로 각 뷰가 필요할 때로드됩니다. 이게 너 니 뒤에 오는거야? – Izhaki
@Izhaki 아니오, 대부분의보기 (클래스)는 이미 응용 프로그램 시작시 이미 있습니다. 편집을 참조하십시오 ... – seba
아마 모든 구성 요소를 렌더링하고있을 것입니다. 우리의 응용 프로그램. 우리는 76보기, 109 모델, 66 컨트롤러가 있고 정말 빨리 다음 문제가 당신의 응용 프로그램의 크기에 작동하지 않습니다. 하지만 애플 리케이션. 코드가 대신 거기에 있습니다. 몇 가지 코드를 알려주십시오. – lontivero