Maximum memory available to AIR Applications in Windows – Why AIR/Flash needs to be 64-bit

Let’s be honest, at some point in time we’ve all tried to load a stupendously large number of images into flash just to see what would happen. Unsurprisingly, Flash will crash. Precisely when it will crash however seems to be enshrouded in mystery. The reason why there doesn’t appear to be any direct Adobe documentation on the issue is that it’s not so much a Flash issue as an OS issue.

The maximum memory available to AIR applications is limited to 2gb (in windows) by the 32 bit nature of the Adobe AIR runtime. In windows this means that the maximum memory available will be around 2 gigabytes. (In tests my application consistently died at around 1.8gb). This limit is independent of the OS architecture – it makes no difference if you’re running Windows 32 bit or Windows 64 bit.

According to an MSDN article (http://msdn.microsoft.com/en-us/library/aa366778%28VS.85%29.aspx) the IMAGE_FILE_LARGE_ADDRESS_AWARE should allow 32 bit applications to access up to 4 gb of memory, I think it’s safe to assume that this option is not enabled in the Windows AIR runtime.

If Adobe is serious about AIR competing on an equal footing with native applications it is vital that these memory issues are resolved. Whilst AIR 2.0 seems to be a step in the right direction and I understand that using a runtime environment will never be the same as building a native app, I’d still love to see a 64 bit version of AIR.

(This article only pertains to the Windows AIR runtime, I haven’t tested Mac OS X or Linux. There is a 64 bit version of AIR for linux in closed beta.)

  1. No comments yet.

  1. No trackbacks yet.