Domanda

Spinto dalla curiosità, sto cercando di capire il ciclo di vita utilizzato dall'applicazione Flex.

Quindi, ho fatto una piccola ricerca su questo argomento; I due concetti chiave utilizzati nel flashplayer sono:

  • Frame SWF: è l'unità logica che contiene codice grafico e come codice
  • Flash Player Frame: è l'intervallo di tempo utilizzato da Flash Runtime per aggiornare lo schermo e definito dalla proprietà Framerate

In tal caso, potresti spiegarmi la relazione tra questi due concetti? In particolare, sono accoppiati di timoniere o no?

La regola principale è: il flash player flusso in un SWF; Fino a quando non viene letto un frame SWF completo, il lettore flash non può renderlo.

Cercherò di spiegare cosa devo capire. Per motivi di semplicità, supponiamo di avere un'applicazione a due frame: SWF FR 1 e SWF FR 2.

In generale (ad esempio in CS4) un frame è considerato come un'unità logica (delimitata dal tag showframe) in cui è possibile allegare il codice AS3. Questa come versione semplificata di un file SWF, penso:

  • L'intestazione // framerate è definito qui
  • Simboli, classi ecc ... // Questo è fr1 === showframe ===
  • Simboli, classi ecc ... // Questo è fr2 === showframe === end

Quindi, i telai dei giocatori flash possono aver avuto molte volte per cornice SWF?

Quando il download di FR1 (FR1 non è completamente caricato) ci sono eventi Enterframe o no? Il primo frameEvent si svolge quando la FR1 è completamente carica? Durante quale periodo di tempo è reso FR1? Un altro scenario, se hai chiamato il comando STOP in FR1, otterrai EnterFrame alla velocità specifica (il frame corrente è FR1). Nel frattempo FR2 sta scaricando. Quando è finito, vai al fotogramma successivo (FR2). Durante quale periodo di tempo è reso FR2? Flash Player cerca di rendere FR2 al prossimo intervallo di tempo?

Prendi in considerazione questa semplice sequenza:

  1. FR1 sta scaricando
  2. FR1 è completamente scaricato
  3. Metodo delle chiamate fr1 stop (), nel frattempo FR2 sta scaricando
  4. FR2 è completamente scaricato
  5. Vai a FR2
  6. Metodo delle chiamate FR2 Stop ()
  7. E così via

Potresti sottolineare per me quando si svolgono gli eventi di Flash Player Enterframe?

Grazie per il tuo tempo. Cordiali saluti, FLEX_ADDEDET.

È stato utile?

Soluzione

Anche se sembra che tu abbia sicuramente esaminato le cose, alcune delle tue ipotesi sono errate. Flex è il codice flash scritto in un bel framework. Quindi tutto si riduce a frame che sono una miscela di esecuzione del codice e i risultati di quel codice che eseguono, rendering. Quando tutto il codice richiesto è stato eseguito e il processo di rendering è completo, il frame è completo e il lettore flash passa al frame successivo.

Quindi viene chiamato il tuo enterframe.

Ora non è tipico come sviluppatore Flex ascoltare l'evento Enterframe.

Per comprendere le app Flex, devi solo pensare che siano app flash, con il primo frame di un frame di caricamento e il secondo è l'app. Sono le sottoparti e le loro singole tempistiche che compongono tutto il resto dei fotogrammi. Questo concetto confonde sicuramente le persone perché poi credono che l'Enterframe dovrebbe essere chiamato solo due volte, questo non è così.

Il prossimo presupposto sbagliato che molte persone hanno è che solo perché "nessun codice sta eseguendo" che i frame non vengono ancora chiamati. Anche questo non è così. Solo perché qualcosa non sta cambiando non significa che i frame non vengano chiamati e - senza i controlli appropriati - non si stanno verificando grandi quantità di elaborazione.

Hth

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top