180 likes | 455 Views
플렉스 성능과 개발생산성 향상. C.A.N. 홈페이지 팀. 기술의 빛과 그늘 ( P.520 ). 기술과 비용의 상관 관계. 비 용. 기 술. 플렉스 성능 향상 요소 - 플렉스 성능 향상 공식. 플렉스 애플리케이션 사이즈 제한 애플리케이션 사이즈 최대 허용 크기 = 네트워크 전송 속도 x 화면 로딩까지 걸리는 시간 ( 초 ) 데이터 전송 건수의 가이드 데이터 전송량 = 네트워크 전송 속도 x 데이터 로밍까지 걸리는 시간 ( 초 ).
E N D
플렉스 성능과 개발생산성 향상 C.A.N. 홈페이지 팀
기술의 빛과 그늘( P.520 ) • 기술과 비용의 상관 관계 비 용 기 술
플렉스 성능 향상 요소 -플렉스 성능 향상 공식 • 플렉스 애플리케이션 사이즈 제한애플리케이션 사이즈 최대 허용 크기 = 네트워크 전송 속도 x 화면 로딩까지 걸리는 시간(초) • 데이터 전송 건수의 가이드데이터 전송량= 네트워크 전송 속도 x 데이터 로밍까지 걸리는 시간(초)
플렉스 성능 향상 요소 –애플리케이션 사이즈 축소 방안
성능 향상 테크닉 1. 변수에 [Binable] 선언을 하면 애플리케이션 선언을 안 했을 경우보다 메모리 사용량이 커진다. 프로파일러 성능 측정
성능 향상 테크닉 • 데이터바인딩이 필요하지 않으면 배열에는 Array를 사용하라성능 : ArrayCollection < Array • 임베드된에셋들은 애플리케이션 사이즈에 그대로 추가된다.화면상 로드되고 나서 사용하는 메모리 사용량은 비슷하기 때문에 크기도 줄이는 편이 낫다. gif < jpg < png < bmp
성능 향상 테크닉 • 컨테이너의 creationPolicy는 queued 옵션이 auto나 all 옵션에 비해 메모리를 적게 사용
성능 향상 테크닉 • 서브 화면은 Module로 만들어 메인 애플리케이션에 최적화하라최적화 전 : 744k최적화 후 : 484k • 공통 컴포넌트는 RSL(Runtime Shared Library) 로만들어 공유하고 인증 프레임웍RSL(Runtime Shared Library)을 적용해 애플리케이션 사이즐 최소로 줄임
ModuleLodader( P.524 ) [표] ModuleLoader와 SWFLoader비교
모듈 생성 • MXML 컴포넌트로 생성File > New > MXML Moduble • Mxmlc로 일일이 컴파일 안함 • 메인 애플리케이션에 대해 최적화
Moudle 생성 - 1 1. Flex Project를 생성한다. Flex 3 Builder의 메뉴에서 File > New... > Flex Project를 선택하면 다음 창이 나온다.
Moudle 생성 - 2 압축 파일을 풀면 아래와 같은 프로그램들이 있는데 아래와 같이 선택된 프로그램만 복사하고 바로 생성한 Project의 src폴더에 복사한다. 복사 복사한 소스에서 insurancemodules폴더안에mxml파일이 3개 가 있다. 소스내용을 보면 알겠지만 태그를 사용한 것을 볼 수 있다. 즉, 이 3개의 소스는 모듈이다.
Moudle 생성 - 3 3. 모듈 추가 메뉴에서 Project > Properties를 선택하면 아래와 같은 창이 나오는데... 여기서 왼편에 Flex Modules를 선택하고 해당 3개의 모듈을 등록후OK를 하면 된다. 컴파일러는 이 모듈을 따로 컴파일하여 각각 3개의 swf파일을 생성해준다. 이 swf파일은 직접 실행되는 것이 아니라 Main Application에서 필요할 때 동적으로 로드해서 사용하게 된다. Module등록을 하면 옆에 그림과 같이 3개의 mxml파일에 파란색 마크가 붙어 이것이 모듈이라는 것을 가시적으로 확인할 수 있다.
Moudle 생성 - 4 4. Main Application 설정 이 부분은 생략해도 되나, 실행할 때마다 해당 Application을 선택하는 번거로움을 없애기 위한 것이다. 모듈 설정때와 동일한 방법으로 Flex Builder의 메뉴에 Project > Properties를 선택한 다음 좌측에 Flex Applications를 선택한다. 그리고 아래와 같이 EventApp.mxml을 Add한다음Set as Default 버튼을 이용하 default로 고정시켜준다. 이렇게 하면 실행할 때 기본적으로 MoudleText.mxml이 Main Application이 아니라 EventApp.mxml이 Main이 되어 실행된다.
Moudle 생성 - 5 실행 화면 개의 Main Application에서 3개의 Module을 로드하는 프로그램 완성
플렉스빌더의 메모리와 성능 프로파일러 Memory Usage View Profile View Live Object View
플렉스 메모리 그림 1.Flash Player에서 표시 및 회수 방법을 통해 활성 참조가 없는 객체 식별