Everyone is reporting Android being slow. Can we make this the highest priority?

Dear Ionic Team,

Love what you’ve done so far. Seriously. It’s incredible. iOS feels extremely native (ever since switching the touch response time from 80ms to 1). However, Android is a joke in performance. It’s unusable. Any Android app submitted with such a lag would be given horrible ratings. Please hear me out.

The whole point of Ionic is cross platform output. iOS is awesome, and again this is because we changed the response time to 1ms, which should be default to begin with. Android is not awesome. I am talking specifically about scrolling and transitions. They are “painfully slow”, especially with a list involved. We even try different list tags.

We’ve spent months trying tons of different suggestions from the Ionic community. Crosswalk. Transform issues. Different CSS. Hardware Acceleration. Different Android versions 4.1-4.4. Nothing changes.

I’m begging you. Can we get this fixed before adding new features? Thank you again for your hard work.

19 Likes

What’s the app? Im curious to check this low performance…

Where is your app? so we can check it out with our devices :slight_smile:

It is not available for download. Regardless, you can search “Android Slow” and you’ll find a ton of posts dating back forever. It’s the same story over and over. iOS fast. Android slow. Here’s a few.

Very simple app but I think you can see some difference (compare nexus 5 and iphone 5 ex):
App store
Google play

I was unable to install from Google Play from my country. USA.

Me neither…

I had some performance issues once, then I noticed I was calling some time-consuming functions on the controllers. After placing them inside a timeout it worked way better.

Not all devices display issues and Ive never seen a minimal snippet of code that replicates the issue, it always seems to crop up in a more complex case.

Ive certainly tried and failed to produce an isolated demonstration.

If unable to share even the built app. can the OP post a minimal example that shows the poor transition performance?

Hey guys, just wanted to chime in on this.

So we’re working our asses off to resolve this. iOS was a breeze, but we agree, Android isn’t at the same level.
Which is what inspired our WIP-Nav branch.

This branch is basically a rework of our navigation logic (the ionic side, not ui-router) which should make navigation on both iOS and Android incredibly fast and smooth. Having tested it out on booth iOS and Android devices, I can confirm that.

Another thing we’re hoping to work is our scrolling. Our current implementation uses javascript based scrolling. But as platforms advance, it’s clear this is no longer needed. We can use native scrolling and have features like pull-to-refresh and infinite scroll. This alone will boost performance, especially on lower end 4.0 device.

As we wrap things up for beta 14 and onward, we’re hoping that we can do what ever we can to make Android as great as iOS.

…So to recap, we’re upset by it too, it is a high priority to us, and we’re working on it :smile:

37 Likes

These are great news Mike, thank yoy for cheering me up before my bed time :slight_smile:

Really really excited about this new beta!

New Beta pending, as this might not be relevant then - Can we look into getting this section of code (Line 2946) within ionic.js to be an option outside the framework? Updating the framework would reset it back to 80ms. That would hide all the hit states. 1ms fixes that. Hopefully there’s a compromise. Here I have it shown with the change I made.

           // in XX milliseconds, set the queued elements to active
           if(e.type === 'touchstart') {
 -            self._activateTimeout = setTimeout(activateElements, 80);
 +            self._activateTimeout = setTimeout(activateElements, 1);
       } else {
         ionic.requestAnimationFrame(activateElements);
       }

I read on another post that the Ionic Team early on had it set to 1ms, and then kept mishitting buttons and so they changed it to 80ms. I’ve had it changed for 2 months, and never had a problem where I mishit a button and it took me to a screen I didn’t mean to. Okay, I did once. :smile: But the trade off is 110% worth it for the user to instantly know they tapped something on the screen.

Getting pumped. :sunny:

2 Likes

Hello,

newbe here. I have recently started app development with ionic and came across same performence issue.
I have searched and downloaded some apps from showcase and found this app.

This app perform like native app. I am looking for same gallery concept for my app, I tried collection repeat for list but no performance improvement.
Any suggestion what this app might be using?

Thanks,

Hello,

Any update on this on Lolipop? some clients are asking us the reasons for the decreasing in performance and we are . Even the default sidemenu app is slow on Android with the last version of Ionic and can’t find a way to improve it. The worst of all of this is that clients are seeing the decrease :frowning:

Thanks