0
Tunning Flex Apps
          Ivan Alvarez
     Senior RIA Developer
  ivan.alvarez@tidyslice.com
Sinópsis

• Open Source.
• Version 4 Beta.
• Alta adopción.
Por que Tunning?
Sinópsis

• Aplicaciones
 • Estables.
 • Rápidaz.
 • Bajo consumo de memoria y CPU.
Como funciona el Flash
       Player?
Memoria
• Reserva memoria del SO en grandes
  grupos(4096 bytes).


• Devuelve recursos al SO través del
  Garbage Collect...
Garbage Collector
• Conteo de Referencias.
 • Cada objeto tiene asociado un contador
    de referencias
 • Si un objeto ti...
Garbage Collector
• Mark and Sweep
 • Se empieza desde el stage y se recorre la
    aplicación siguiendo las referencias
 ...
Memory Leak

• Si no borramos las referencias a un objeto
  y éstas van creciendo, en nuestra aplicación
  se producirá un...
Elastic Racetrack
•   Frame Rate: es la cantidad máxima de veces por
    segundo, que el FP redibujará la pantalla.




• ...
Mejores Prácticas
Event Listener
• Strong Listeners(removeEventListener)
• WeakListeners( Precaución)
• addEventListeners( dirección )
 • Fl...
Transferencia de Datos




• Uso de protocolo binario: AMF
Mejores Prácticas
• Objetos Tipados vs No Tipados
• Uso de Invalidate Methods
  invalidateDisplayList().
• Data Binding: E...
Módulos
• Solucion para escalar aplicaciones de gran
  tamaño.
• Caracteristica nativa para modularizar
  aplicaciones Fle...
Modulos
• Reduce el tiempo de startUp.(solo se carga
  el shell).
• Uso de memoria inferior, ya que no está
  todo el códi...
Módulos
•   Shell / Module

    •   Shell: Código necesario en startUp

    •   Module: Código necesario on-demand

    • ...
Demos
Upcoming SlideShare
Loading in...5
×

Tunning Flex Apps

936

Published on

Una breve introducción al tunning de aplicaciones flex, mejores practicas y ejemplos.

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
936
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Transcript of "Tunning Flex Apps"

    1. 1. Tunning Flex Apps Ivan Alvarez Senior RIA Developer ivan.alvarez@tidyslice.com
    2. 2. Sinópsis • Open Source. • Version 4 Beta. • Alta adopción.
    3. 3. Por que Tunning?
    4. 4. Sinópsis • Aplicaciones • Estables. • Rápidaz. • Bajo consumo de memoria y CPU.
    5. 5. Como funciona el Flash Player?
    6. 6. Memoria • Reserva memoria del SO en grandes grupos(4096 bytes). • Devuelve recursos al SO través del Garbage Collector.
    7. 7. Garbage Collector • Conteo de Referencias. • Cada objeto tiene asociado un contador de referencias • Si un objeto tiene 0 referencias sera candidadato a eliminarse.
    8. 8. Garbage Collector • Mark and Sweep • Se empieza desde el stage y se recorre la aplicación siguiendo las referencias • Se marcan lo objetos que se vayan encontrando • Los objetos que queden sin marcar serán candidatos a eliminarse.
    9. 9. Memory Leak • Si no borramos las referencias a un objeto y éstas van creciendo, en nuestra aplicación se producirá un memory leak. • La aplicación se vuelve mas lenta progresivamente hasta que se vuelve inoperante.
    10. 10. Elastic Racetrack • Frame Rate: es la cantidad máxima de veces por segundo, que el FP redibujará la pantalla. • Flex solo utiliza 2 Frames. • 24 FPS es el default.
    11. 11. Mejores Prácticas
    12. 12. Event Listener • Strong Listeners(removeEventListener) • WeakListeners( Precaución) • addEventListeners( dirección ) • FlexGlobals.topLevelApplication(Flex 4) • Application.application(Flex 3)
    13. 13. Transferencia de Datos • Uso de protocolo binario: AMF
    14. 14. Mejores Prácticas • Objetos Tipados vs No Tipados • Uso de Invalidate Methods invalidateDisplayList(). • Data Binding: Evitar utilizarlo en Data Transfer Objects. • Reuso de objetos a traves de pools.
    15. 15. Módulos • Solucion para escalar aplicaciones de gran tamaño. • Caracteristica nativa para modularizar aplicaciones Flex • Es un conjunto de clases no necesario en el momento de arranque de la aplicación. • Carga dinámica de funcionalidades.
    16. 16. Modulos • Reduce el tiempo de startUp.(solo se carga el shell). • Uso de memoria inferior, ya que no está todo el código cargado. • Fomento de la programación orientada a Interface -> polimorfismo -> mayor rendimiento (menor tiempo de instanciación debido a una cadena de herencia menor).
    17. 17. Módulos • Shell / Module • Shell: Código necesario en startUp • Module: Código necesario on-demand • Shell carga modules bajo demanda • Shell puede ofrecer una API de comunicación unidireccional / bidireccional con los módulos • Todo basado entre Interfaces debido al funcionamiento nativo de los applicationDomains.
    18. 18. Demos
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×