문제

호기심으로 인해 Flex Application이 사용하는 수명주기를 이해하려고합니다.

그래서 저는이 주장에 대해 약간의 연구를했습니다. FlashPlayer에 사용 된 두 가지 주요 개념은 다음과 같습니다.

  • SWF 프레임 : 그래픽 코드를 포함하는 논리 단위 및 코드로
  • Flash Player 프레임 : 화면을 업데이트하고 Framerate 속성으로 정의하는 데 Flash Runtime에서 사용하는 시간 간격입니다.

그렇다면이 두 가지 개념을 Bewteen으로 설명해 주시겠습니까? 특히, 그들은 Togheter 쌍을 이루는가?

주요 규칙은 다음과 같습니다. 플래시 플레이어는 SWF에서 스트리밍됩니다. 전체 SWF 프레임이 읽을 때까지 플래시 플레이어는 렌더링 할 수 없습니다.

내가 이해해야 할 것을 설명하려고 노력할 것입니다. 단순성을 위해 SWF FR 1과 SWF FR 2의 두 프레임 응용 프로그램이 있다고 가정하십시오.

일반적으로 (예 : CS4) 프레임은 AS3 코드를 첨부 할 수있는 논리 단위 (ShowFrame 태그로 구분)로 간주됩니다. 이것은 SWF 파일의 단순화 된 버전으로 생각합니다.

  • 헤더 // framerate는 여기에 정의되어 있습니다
  • 기호, 클래스 등… // 이것은 fr1 === showframe ===입니다.
  • 기호, 클래스 등… // 이것은 fr2 === showframe === END입니다.

FR1과 FR2의 두 프레임이있는 경우 Flash는 FR1을 실행하기 시작하고 다음 제품 (FR2)으로갑니다. 발굴을 중지하지 않으면 플레이어는 무한 루프를 통해 FR1과 FR2에 포함 된 코드를 실행하고 렌더링합니다. 반대로, 실행을 중지하면 FR2에서 실행을 중지하면 Flash Player 루프가 FR2에 포함 된 코드를 실행합니다.

그렇다면 Flash Player 프레임이 SWF 프레임에 따라 여러 번 발생했을 수 있습니까?

FR1이 다운로드 될 때 (FR1이 완전히로드되지 않음) EnterFrame 이벤트가 있습니까? FR1이 완전히로드되었을 때 첫 번째 프레임 이벤트가 발생합니까? FR1은 어떤 기간 동안 렌더링됩니까? 다른 시나리오는 spop 명령을 FR1로 호출 한 경우 지정된 속도 (현재 프레임은 FR1)로 Enterframe을 얻게됩니다. 한편 FR2가 다운로드 중입니다. 완료되면 다음 프레임 (FR2)으로 이동합니다. FR2는 어떤 기간 동안 렌더링됩니까? Flash Player는 FR2가 다음 시간 간격으로 렌더링하려고합니까?

이 간단한 순서를 고려하십시오.

  1. FR1이 다운로드 중입니다
  2. FR1은 완전히 다운로드되었습니다
  3. FR1 Call Call Stop () 메소드, 한편 FR2가 다운로드 중입니다.
  4. FR2는 완전히 다운로드되었습니다
  5. FR2로 이동하십시오
  6. FR2 호출 stop () 메소드
  7. 등등

Flash Player Enterframe 이벤트가 진행될 때 저를 강조해 주시겠습니까?

시간 내 주셔서 감사합니다. 안부, flex_addicted.

도움이 되었습니까?

해결책

당신이 분명히 사물을 조사한 것처럼 보이지만, 당신의 가정 중 일부는 틀 렸습니다. Flex는 하나의 예쁜 프레임 워크로 작성된 플래시 코드입니다. 따라서 모든 것이 코드 실행과 해당 코드 실행 결과의 혼합 된 프레임으로 내려집니다. 필요한 모든 코드가 실행되고 렌더링 프로세스가 완료되면 프레임이 완료되고 플래시 플레이어가 다음 프레임으로 이동합니다.

따라서 Enterframe이 호출됩니다.

이제 Enterframe 이벤트를 듣는 것은 Flex 개발자로서 일반적이지 않습니다.

Flex 앱을 이해하려면 첫 번째 프레임이로드 프레임이고 두 번째 프레임은 앱이라고 생각하면됩니다. 나머지 모든 프레임을 구성하는 것은 하위 파트와 개별 타임 라인입니다. 이 개념은 사람들을 확실히 혼란스럽게합니다. 왜냐하면 그들은 엔트 프레임이 두 번만 호출되어야한다고 믿기 때문입니다. 그렇지 않습니다.

많은 사람들이 가진 다음 잘못된 가정은 "코드가 실행되지 않기 때문에"프레임이 여전히 호출되지 않는다는 것입니다. 이것은 또한 사실이 아닙니다. 무언가가 바뀌지 않기 때문에 프레임이 호출되지 않고 적절한 점검없이 많은 양의 처리가 발생하지 않는다는 의미는 아닙니다.

HTH

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top