Category Archives: AIR

Posts related to Adobe Integrated Runtime.

Android’s 64-bit requirement puts pressure on Adobe

UPDATE: Enter the Harman – Since writing this post, Samsung subsidiary Harman finally waded in to announce they will take over development of the AIR platform on a commercial basis. This should bring better support and more frequent updates, as a commercial model for AIR makes more sense than as a vanity project for Adobe. Read the community’s feedback here.

And Harman have just released their official AIR SDK version 33 with 64-bit support for Android!


 

Google recently reiterated that, when Android Q launches, they’ll start enforcing a requirement for all Android apps using native code to provide a 64-bit version as they phase out 32-bit support. As you’d expect, this has far-reaching implications for app developers, depending on the languages and libraries they use – particularly for Unity and Adobe AIR developers. Continue reading Android’s 64-bit requirement puts pressure on Adobe


 

Sneaky tricks for developing on small devices: ‘Bitmap Folding’

One of the most problematic constraints when developing applications for resource constrained devices, such as mobile or Set Top Box is ‘video memory’.

You often will not have control over how much video memory is allocated to your application, or what the fallback behaviour is when your application uses too much. Continue reading Sneaky tricks for developing on small devices: ‘Bitmap Folding’

YouView – Smart TV UI

YouView is a Smart TV service in the UK, a spin-off of a BBC RnD project which runs on Set Top Boxes and certain Smart TVs. I worked on the core UI for years and thought I’d share some insights into best practices when building applications for such resource constrained devices.

Continue reading YouView – Smart TV UI

Game packaged with AIR running on 3 different mobile devices

I just tried packaging a game, written in AS3, for my iPad, PlayBook and BlackBerry 10 Dev Alpha device – works pretty well!

Chinese Handwriting Recognition App

Unlike the iPad, the BlackBerry PlayBook has rather poor international keyboard support, with no method for entering chinese characters. I like the way iOS achieves this, so went about building my own version in ActionScript. Continue reading Chinese Handwriting Recognition App

iPad smoothness for iPad

I’d recently been playing around with packaging AIR for iOS, to run on my iPad. While the performance has been improved massively since CS5 Packager, it’s still not great in AIR 2.6. It seems that AIR 2.7 brings with it some great performance enhancements – though I’ll reserve judgement until I’ve tried it myself – check out the article and video here.

ActionScript performance tips

Here are a few simple tricks that may help the performance of your code/graphics intensive Flash movies. This is not an exhaustive list, by any means, rather some of the more effective performance tweaks to try out on your projects. There are the usual sensible coding tricks, like using local variables for oft-used references within functions, or planning your code loops carefully and breaking out of loops whenever feasible – but you should be doing these already. I’ll be adding to this post as and when I feel necessary, but will generally avoid the more granular tricks, such as bytecode optimisation. Some of those methods are too complex to explain in simple terms here and generally have a low effort-to-benefit ratio anyway:

Use scrollRect in conjunction with cacheAsBitmap. The cacheAsBitmap parameter of a movieclip can improve performance dramatically, but will cause problems if the render area of the movieclip gets too large (e.g. larger than 2880 in width or height), regardless of whether it is cropped by the viewable area of the Flash Player. The solution is to use scrollRect to constrain the rendering area to desired limits, in this example, the stage width/height:

Create bitmap snapshots of complex movieclips. Where you may have a movieclip full of layered graphical effects that isn’t animated, you can save a lot of rendering time by creating a snapshot of the movie. Similar to the cacheAsBitmap parameter, but will improve performance further if your movieclip comprises many lines or alphas. The following function shows a quick and dirty way of duplicating a movieclip as a snapshot of the original:

Use the opaque window mode trick – sparingly! Setting the wmode=opaque HTML parameter of your Flash object can improve rendering performance, but at a potential cost. Not only does it make the rendering order of movieclips and frames more ‘lazy’, but will effect keyboard interaction adversely in some browsers (especially FireFox). Use with caution.

I’ll be updating and tracking back to this post occasionally, so stay tuned…