Flex – Adobe AIR application is slow in idle time

I spent hundreds of us developing Adobe AIR applications with Flex 4.0, and now I think I should be done, but after letting the application run for more than a few hours, UI response began to lack…

What I did:
My application uses custom chromes, by setting windowImages and transparency to BorderContainers in Window-modules. I opened it Many different pop-up windows, they are all based on Window-Class (not TitleWindow!), and are dynamically created and closed in ActionScript. By using Flex Profiler, I certainly know that the garbage collector will properly destroy all allocated resources and memory The consumption does not increase with the uptime of the application. In addition, the analyzer showed me that none of my methods took up a lot of cpu time, so this should be fine.

What’s really interesting is that:
If I continuously interact with the app (clicking a button, writing text,…) nothing happens, everything is fine, but if I don’t interact with the app for a few minutes and then come back – the UI response is really bad!

Really bad means that if I enter some text in the TextInput-Control, I can see that every letter written is delayed by at least 1 second!

Has anyone experienced a similar situation, or does anyone know what the problem might be?
My suggestion is that after some activities, flash-player-runtime limits the cpu usage of the AIR application and will not return the full power when the user returns.

I use Flex 4.0, Flex 4.1, AIR 1.5, AIR 2.0 with Flash Player 9 and Flash Player 10 running on Windows XP and Windows 7 tested the application…

I finally found a solution!

The new spark component introduced by Flex 4 adds a property called “backgroundFramerate” to the WindowedApplication class. By default, this property is set to 1, which means when the main (!) application When the window is inactive, AIR will automatically limit the frame rate. Unfortunately, this frame rate is used for the entire application, including all other window instances, which can be in the foreground and are active!

After disabling the automatic frame rate limit by setting backgroundFramerate-property to -1, all problems disappeared!

I know, I already know that the object derived from the new window is used to display the pop-up window. I believe this is a bug in Flex 4 that is still unfixed.

< /p>

I spent hundreds of us developing Adobe AIR applications with Flex 4.0, and now I think I should have done it, but after letting the application run for more than a few hours, the UI response started to lack…

What I did:
My application uses custom chromes, by setting windowImages and transparency to BorderContainers in Window-modules. I opened many different pop-up windows , They are all based on Window-Class (not TitleWindow!), and are dynamically created and closed in ActionScript. By using Flex Profiler, of course I know that the garbage collector will properly destroy all allocated resources, and the memory consumption does not follow the application normally The running time increases. In addition, the analyzer shows me that none of my methods take up a lot of cpu time, so this should be no problem.

What’s really interesting is:
If I keep Nothing happens when interacting with the app (clicking a button, writing text,…), everything is fine, but if I don’t interact with the app for a few minutes and then come back – the UI response is really bad!

Really bad means that if I enter some text in the TextInput-Control, I can see that every letter written is delayed by at least 1 second!

Has anyone experienced a similar situation, or does anyone know what the problem might be?
My suggestion is that after some activities, flash-player-runtime limits the cpu usage of the AIR application and will not return the full power when the user returns.

I use Flex 4.0, Flex 4.1, AIR 1.5, AIR 2.0 with Flash Player 9 and Flash Player 10 running on Windows XP and Windows 7 tested the application…

I finally found the solution!

The new spark component introduced by Flex 4 adds a property called “backgroundFramerate” to the WindowedApplication class. By default, this property is set to 1, which means when the main (!) application When the window is inactive, AIR will automatically limit the frame rate. Unfortunately, this frame rate is used for the entire application, including all other window instances, which can be in the foreground and are active!

After disabling the automatic frame rate limit by setting backgroundFramerate-property to -1, all problems disappeared!

I know, I already know that the object derived from the new window is used to display the pop-up window. I believe this is a bug in Flex 4 that is still unfixed.

< p>

Leave a Comment

Your email address will not be published.