leokan23, I don't know if this will help you, but I will tell you my process for laying things out. I do not place and widths, heights, positions, or paddings in my MXML. When you use percentages for these settings, AIR has to do a lot of self-measuring, calculating, and then laying out components and this can be expensive on mobile devices, especially all of the self-measuring.
It is a little more laborious, but I lay everything out manually, but for my rather large app, it has helped performance a lot. So in the main app in the Application tag, I listen for the applicationComplete event. When it fires, I get the width and height of the device I am on using the following. AppVars.appWidth = stage.stageWidth; AppVars.appHeight = stage.stageHeight; AppVars is just a dummy class that I made to hold a bunch of values that can be shared across all of my components so I just have to measure the dimensions one time when the app boots up. After that, in each component that I create, I listen for the creationComplete event and set all my widths, heights, positions and paddings manually like this: <s:BorderContainer xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" creationPolicy="all" creationComplete="init(event)" visible="false"> <fx:Script> <