Very slow navigation with android

You are getting confused with browser limitations.

Creating 300 bindings is not the issue, at all.
In fact you can create 3000 binding and still be fine.
But creating that many DOM node is the issue.
With that many nodes, anytime something animates, you have to recalculate the position of all them…

Things you can do

  • Instead of using ngOnInit, use ionViewDidLoad, so that you’re not constantly loading data.
  • Use virtualScroll to recycle elements. This will keep the dom content much lower, and the browser will spend less time trying to handle all the nodes.

image

Here’s a time line snap shot of the difference in you app with virtual scroll in place.

Notice the reduced time in trying to perform recalculate style and layout from the dev tools.