Need help for improving android performance ... Please Help

Hello guys
We are developing an application for both android and ios
It’s kind of big and has complicated coding and lots of Images , Loaders , etc …

in ios it’s almost ok , but in android its crappy slow !!!
I mean , it takes like 15secs to even run the app .

I have set the render mode to GPU - I’m using greensock tweens .
I have lot’s of vectors , bitmaps as well

I was thinking about moving to starling framework , do you think it helps ???
If yes , which codes should move there ?
I mean should i use every single code that starling gives me for all of the parts ?
Touch listeners ? or Loaders ? or ?
I need to know these because i don’t have a lot of time , and it’s a loooot to change so
what’s the most affective in memory management and performance ?

Please let me know if you have any tip
It’s really important
Thanks a lot

Is there a particular version of Android (or a particular hardware configuration) the app is slow in?

In gpu mode on android,

set stage quality to low.
Set color depth to 16bit ( might be already dedault now)

Do not cache as bitmap or create new bitmaps, instead make a finite number of bitmaps and pool the bitmapdata properties they use.

Use drawWithQuality to create your single instance of each bitmapdata

Do not use vectors if u can avoid it.
EDIT: if there are a lot of vectors on a screen, sometimes its better to draw it to a bitmap

Put all instaces of bitmaps on the screen hidden or .01 alpha to first cache them on gpu, then it should be fast to reuse them going forward.

Dispose of bitmaps when done.

Starling is great but gpu mode is also great. Both can run 60fps well on modern hardware.

Use scout with telemetry enabled.

Test on more than one device, and use latest air sdk

not really , on every android device , but some of them even worse !

Thanks a lot man ! I already have done some of these tips , but I’ll try all of them . Really helpfull

Another example of what I meant to say would be this,

For an animated character, you would want only one character bitmap, and one array of bitmapdatas as its “frames”

On the game loop your updating the character.bitmapData = array[frameNum]

Duplicate characters can share that common bitmapdata array

This is pretty much the bread and butter of gpu mode, combined w low stageQuality and color depth

Be aware of cachasbitmap I never found a use for it when drawing to a bitmap wasnt better suited for a few reasons