Por Marcos Cuando trabajamos en Flash Lite, uno de los factores determinantes para que nuestras aplicaciones funcionen correctamente, es el uso muy controlado de procesador y memoria. Normalmente la memoria da más problemas en cuanto a lanzar excepciones se refiere, pero el procesador tambien nos puede jugar malas pasadas.
Con la llegada del FL2, nos encontramos con que tenemos a nuestra disposicion muchisimas funciones útiles, pero.. ¿están optimizadas estas para un óptimo rendimiento en procesadores de muy poca capacidad como los que tienen nuestros amigos los móviles? Pues la verdad que es muchas de ellas no
Si bien este ejemplo no es de una función incorporada de flash, si sirve como muestra de lo que nos puede ocurrir cuando venimos de programar action script para escritorio o web tradicional, ya que estamos muy mal acostumbrados a la hora de ahorrar recursos, tanto en memoria como en procesador. Funciones muy propensas a este tipo de probelmas son las relativas a Array y a Strings, que suelen llevar asociado un uso bastante fuerte de procesador.
Pero por suerte, existen alternativas que con un poco de imaginacion nos pueden sacar de algun lío. En una conversacion en flashmobilegroup Pablo de storfiskstudio comentaba que estaba teniendo problemas con un error etiquetado como “Error 4
problem with content”. Este error hace alusión a un uso demasiado excesivo de cpu, lo que puede llevar a romper la aplicación.
Una vez determinado que el problema era con la cpu, indagó en el código y todo parecía indicar que el problema estaba en un método que empleaba para “desordenar aleatoriamente” un array. El método que él empleaba es uno que a todos se nos ocurriría a primera vista para ese fin, y salvo en un móvil, nunca nos daría grandes problemas. El método crea una copia del array, y va sacando aleatoriamente de él (mediante funciones incorporadas de flash) elementos para ir metiendolos en el otro array. De esta forma tenemos un array desordenado a partir del primero.
Solución: la mejora definitiva la logro con una alternativa explicada por sephirot que podeís ver en este enlace:
Array Shuffle optimizado
Pues como moraleja, si vais a desordenar un array en flash lite, si usaís este método os ahorrareís algun dolor de cabeza
Comentarios recientes