Uploaded image for project: 'Apache Flex'
  1. Apache Flex
  2. FLEX-29022

Load a very large PNG image of size 4000 x 4000 in an Adobe Flash Builder app Image control. This image will load properly. Try to zoom this image using TransformAround, it will crash in Iphone 3GS / Ipod Touch. But the same will work fine in Android HTC

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: Adobe Flex SDK Previous
    • Fix Version/s: None
    • Component/s: Spark: Image
    • Labels:
      None
    • Environment:
      Affected OS(s): Apple IOS
      Language Found: English

      Description

      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.

      Case 1
      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.

      Case 2
      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.

      Actual Results:
      Zooming a large image using TransformAround crashes in Iphone 3GS / Ipod Touch but works in Android

      Expected Results:
      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.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              adobejira Adobe JIRA
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated: