Clicks and Navigation damn slow on Android


#1

Hi there,

i’m working on a conference app at the moment with Angular and Ionic (+ underscore, fontawesome). Its my first project with AngularJs and Ionic so don’t beat me to hard. I just made a json-API on my wordpress backend and pull all of the talks out there. This works just fine. In my app i have a list view of all the talks filtered and sorted for each day. But here comes the problem: If i navigate through the app (if i click on program or a talk) it is really slow on android devices (tested on Galaxy 4, Nexus 4/5) and i don’t get the point what makes it so damn slow.

I have made a plnkr out of it so may you see the mistake i’m missing.

View the Code

Thanks in advanced for your help.


#2

Hey there! So first off, nice app so far - love the schedule loading.

Hmm, I can’t see any reason why taps would be reregistering slow. But if android is giving you some trouble, maybe you’ll want to look in to this.

This will replace the default android webview with the much faster chrome webview.

I’m assuming your having trouble on older versions of android?


#3

Thanks @mhartington for the good words.

I tried to figure out how to migrate the crosswalk into my app but i don’t get it. But I run the app on my Nexus 4 with Android 4.4 so it is already with Chrome I think.

I made some perfomance test in the timeline and i saw that my JSON File is with 420kb quite big. So it themes for me that this file is loaded everytime if I Tap on program. And in the timeline i saw that it takes everytime i go back to program much time to parse the HTML again. Is there any possibility to cache the program template or the JSON file?

Best regards and many thanks


#4

Yes, you can cache the JSON within an angular service: StackOverflow


#5

Thanks @mquadrat!
i checked my code again and I’m already using a service for this and in the Network Tab it doesn’t loads the request again so it seems it is cached. So i think it is the nested ng-repeat (4 nested). Caching this List with the data is not possible?


#6

Is there any issue known with this much nesting? @mhartington


#7

Hmm, there should be, not too sure what could be causing the slowness to be honest. What you could, along with cache the data with angulars cache factory, you could download and store the data locally to the device.


#8

using ionic 2,
clicks and navigation slow on ios more than android.
i applied loader in the Android by below code which works good in android but not working in IOS
this.loadingControl.present().then(() => {
this.appCtrl.getRootNav().push(CartPage);
});