I spent a considerable amount of time evaluating AIR for Android (and that other mobile platform) last summer.
There are, of course, a huge number of tools and frameworks available for AS3 development. And media performance and video playback is very good. The huge issue I encountered is interactive performance. Even with all the suggested display list optimizations such of cacheAsBitmapMatrix etc I was only able to eek out satisfactory interactive performance on state-of-the-art handsets. Performance is maybe half what you can expect with Android Java development. And then once you had achieved your highly-tuned interactive performance on your high-end handset there was no processing power left to do any work. You are limited to Froyo handsets and later. The AIR runtime is a large download (6MB dl expands to 17MB). Deployment is automatic via the Market, and the AIR runtime is shared between apps (on Android, not on iOS), but the large AIR runtime binary might be problematic for some handsets with limited storage. I believe the AIR runtime can't be moved to SD card. AIR apps can be moved to SD card though. Flash/AIR is a closed environment in the sense that it is almost impossible to access any external library or process. There is a "hack" that works, but that's sub-optimal. So you are limited to AS3 code and SWFs. Alchemy (C to SWF compiler) works, but it didn't deliver improved performance in my limited tests. Flash 5 lacks UI widgets optimized for touch on mobile devices. The standard Flash UI components work very poorly (even buttons). Adobe's new Hero version of the Flex framework should go along way to address this. Hero is currently in "preview" release. I was unable to find any advertising networks that support AS3/AIR on Android. i.e. you can't just drop a handy AdMob component into your app for ad monetizations. I'd encourage checking out the apps that are out there (Adobe has a Mobile Showcase) as well as the demos of Hero. Try them on different handsets and judge for yourself whether the current performance is satisfactory for your needs. I'm hoping Honeycomb, Tegra 2 and Flash 10.2 might be enough to push the platform above the threshold for creating usable interactive applications. Flash and AIR are not multi-threaded in themselves, but the dual core environment and Linux' efficient context switching might help relieve some of the pressure on the AIR process and its "elastic racetrack" event loop. You might also want to look at Ansca Corona which performs better than AS3/AIR in my tests. But it too is a closed environment. Corona is coded in Lua which is very similar to AS2. - Richard Lawler -- You received this message because you are subscribed to the Google Groups "Android Discuss" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/android-discuss?hl=en.
