Skip to main content
Participating Frequently
November 20, 2012
Question

Air on Android text input and performance issue (Nexus)

  • November 20, 2012
  • 1 reply
  • 1335 views

I'm building an application for a client to be used on iPhone and Android. It's done now and works excellent on iPhone 3Gs - 5. It is pretty basic and uses cached bitmaps for almost all of the graphics. Not very intensive at all. Just fill out a form and choose a few things to get some results, then email them off. I'm publishing as AIR 3.5 GPU.

Anyway, it works great on all of the iPhones. The input text, when initiated, starts the soft keyboard and bumps up the display so the text input isnt covered by the on screen keyboard. All automatically. This does not happen in any Android device that I test on and I cannot find any information on this at all. The keyboard just pops open and covers my input text boxes. I am not using Native Text, I am just using straight up input text and it works find on iOS.

The other issue I'm running into is that it runs very poorly on newer Android Nexus models running 4.0 and higher. It runs very smoothly on older 2.3-ish models.

Any help would be greatly appreciated.

Thanks!

This topic has been closed for replies.

1 reply

Known Participant
August 18, 2013

Nexus having trouble with Air apps it seems: https://bugbase.adobe.com/index.cfm?event=bug&id=3370376

zeh
Inspiring
August 19, 2013

You probably want to use StageText. The fact that normal textfields run sometimes doesn't mean much; there's certain OS features it won't have available, even if it looks like it's working OK on a system or another. On an Android phone, those normally means not having auto-complete, copy/paste, etc.

Android 2.3-ish models might actually run something faster because typically those are lower end devices that actually have less pixels to fill. When you move into a higher-end device, despite having better hardware overall, the device (and Flash) has to do a lot more work to render content on the screen. Twice the pixel density (which is more or less the average when you compare old 2.x devices to newer 4.x devices) means 4 times the data to deal with. You have to take this into consideration. If you have complex content being rendered, you need to either plan on caching them as bitmaps or use GPU accelerated graphics (Stage3d/Starling, etc). You can get insane fill rates with those. Sometimes you should even cache them using a lower pixel density than what the screen allows, just because of the memory it takes. It's hard to say what's the problem without knowing specifics of what performance issues you're having, but I'd bet that's the case.