I inherited an Appcelerator project for a client. This is my first time working with Appcelerator. The application runs fine on iOS but has massive stability problems on Android. Upon investigation, it looks like the Android app is running out of heap space due to images.
A couple things I notes: 1. The splash screen is taking a massive amount of heap space that's never freed (11 mb for me) 2. Images are taking a disproportionate amount of heap space on iOS vs Android 3. It looks like images are just being decoded into raw RGBA and stored on the heap
Is there a way to enable proper texture compression? It should be fairly simple for Appcelerator Studio to convert all PNG/JPEG to ETC2 compressed textures. Then they could be loaded as proper OpenGL textures and not take up heap space.
Is there a way to control the raw bitmap format of an ImageView? It looks like the images are decoded to raw RGBA with 32bpp. Is there a way to configure 5:5:5:1 RGBA for the raw image?
It seems like there is potential for massive optimizations for images by properly using OpenGL ES. The limited amount of images supported on Android due to everything residing in the heap space is asinine - I really hope I'm missing something.
P.S. I'd love to add properly OGL ES texture support, but I doubt I'll have time to play with Titanium's source :)