Affects Version/s: Adobe Flex SDK Previous
Fix Version/s: None
Component/s: Spark: Image
Environment:Affected OS(s): Apple IOS
Language Found: English
Steps to reproduce:
1. We are loading a very large PNG image of size 4000 x 4000 in an Adobe Flash Builder app. This image is loaded properly. But when we try to zoom this image, it crashes in Iphone 3GS / Ipod Touch. The same works fine in Android HTC Desire.
We have used the TransformAround function to zoom. This helps to retain the previous zoom position of the image.
=> When we zoom this image in Android HTC desire, it works fine. No crash.
=> But when we try to zoom in / zoom out the same image in Iphone 3GS / Ipod Touch, then it crashes.
If we don't use the TransformAround function and if we use our scaling formula as below, then it does not crash but the previous zoom position is not retained.
Formula used for scaling the image:
MapImage.scaleX *= event.scaleX;
MapImage.scaleY *= event.scaleY;
The TransformAround function also uses the same calculation but it uses Vector 3D. We can confirm that there is a problem in using the TransformAround function with a large image.
2. We tested the same app with 2048 x 2048 image, it works correctly in Iphone as well as in Android with TransformAround.
=> The only difference we could see between Iphone and Android device what we have is,
Iphone3GS has 256 MB RAM
Ipod Touch 2nd generation also has 256 MB RAM
But Android HTC Desire has 512 MB RAM.
3. We don't know how much memory is required to use the TransformAround function. Logically speaking, once you apply the transformAround of a very large image, it basically produces the output as a small image with the part you zoomed. So, this should not occupy more memory.
=> If it needs more memory than what is available on the device, then we will have problem in applying the TransformAround function in older devices (Iphone 3GS, Ipod Touch 2). Then we can't make applications for these devices using Adobe Flash Builder for this type of requirement.
Zooming a large image using TransformAround crashes in Iphone 3GS / Ipod Touch but works in Android
Zooming a large image using TransformAround should not crash in Iphone devices. It should behave in the same way in any of the devices.
Workaround (if any):
There is no workaround found to solve this issue.