Tag Archives: profiling

Profiling Flash Applications with Flex Builder 3

If you use to create Flex Apps I’m almost sure you profile your applications with Flex Builder or with another tool related to. This time I’ll talk about profiling applications.
Profiling an application means to inspect the elements that your application is running, how much memory you application is consuming, how many instances of each class your application is executing and more information. You can compare memory snapshots of the same application but in different execution time, etc.
You can profile with Flex Builder any application generated as swf file, this includes Flex Applications, Flash Applications/Web sites/animations and any swf created with any tool that has the capability to export the project as swf file.
Before you profile an application you must ensure that the swf file has been compiled with debugging capabilities. Flex does this job for you every time you run, debug or profile your application from Flex Builder, but in Flash this doesn’t happen. You must explicitly tell Flash that your swf must be compiled for debugging. You can do this from the publish settings panel. In the flash tab you have a checkbox unselected by default which says “Permit debugging” and you must turn it on.
Flash debug option
When you turn on this option your application will be compiled with the compiler argument “debug=true”. (You can also compile your application directly with that compile argument if you have a Flash Compiler). The compiler will embed to the swf file information needed for debugging the application, also it will try to connect the application by socket to a socket server when it starts. Flex Builder starts up that socket server when you profile or debug a swf file from Flex Builder with the green buttons in the toolbar, so, as you can imagine, you should first start up the server and then execute the swf file.
From Flex builder you have to profile an external application. You will find this option in the Menu bar – Profile – Profile External Application. This will launch a pop up window that will ask you for the swf file of the application you want to profile. You also have the option to just prepare Flex Builder for profiling and let it wait for the application to execute and connect to Flex Builder (for this you have to choose “Launch the application manually outside Flex Builder”). I will emphasize the first option which profiles directly the selected application. In this window you can browse for the swf file compiled previously in Flash or Flex with the debug option and then you just launch the profiling process and that’s all.
Flex Profile External Option
Select swf file
Don’t forget to turn off the “Permit debug” option from Flash or clear the “debug” compile argument in production mode because someone could debug you application remotely from his computer.
Enjoy it.