<ion-refresher> doesn't work well in android

When I use , my app won’t run smoothly in android system. But it works very well in ios.
Why? Should I do something for android system?
Sorry about my poor English.

2 Likes

I met the same problem with this guy, ion-refresher performs very badly in android but smoothly in IOS, why is that? Can anyone explain or figure out an available solution, any help would be appreciated!

can you post your code snippet at plunkr or fiddle?

This is my code below. Just a simple slide-box with the scroll content.(It seems that I can’t use ion-content for the scroll content, I really don’t know why). In the list there are ten pictures. Is that because my code is too redundant? But it runs pretty smoothly in ios. I am really very confused.

…ion-slide-box on-slide-changed=“slideHasChanged($index)” does-continue=“false” show-pager=“false”>
…ion-slide ng-controller=“HomeCtrl”>
…ion-scroll>
…div class=“box”> //The box style defines the width and height of the ion-scroll.
…ion-refresher on-refresh=“onRefresh()”>…/ion-refresher>
…div class=“list” ng-repeat=“video in videos”>
… //Some code for one picture list and just show 10 pictures.
…/div
…/div>
…/ion-scroll>
…/ion-slide>

…ion-slide>
.
.
. //Some other code.
…/ion-slide>
…/ion-slide-box>

When I use <>, the code will be hidden automatic. Interesting.

Probably you trying to load iframe into dom? iframes are going to be slower because there is an additional overhead for the browser (rendering it, maintaining it’s instance and references to it). Is this on Chrome webview or older generation Android 4.3 and lower? Your best bet is to render the template for the iframe without the video first. once ion-refresher done you could stat binding the video within, though I do not know this will work or not;

.finally(function() {
   // Stop the ion-refresher from spinning
   $scope.$broadcast('scroll.refreshComplete');
  // bind the video here.
 });

My Android system version is 4.2 and 4.1. Both of them don’t work well. I need to find the video information in my data base, and these actions will be done after “$scope.$broadcast(‘scroll.refreshComplete’)”. But it doesn’t work.
I’ve tried some simple examples just like one list with several numbers. The result is disappointed.
In ios it’s very different. It becomes very smoothly. Is ionic based on ios?

You mean Ionic was customized for IOS, so it performs poorly on android, i don’t know about that. But Ionic is based on cordova,so there should be no difference.Is there any other UI framework like jquery or sencha touch can solve the probelm that ion-refresher perfoms badly on android?

Are you using beta 14? I am on beta 14 and it works very well for me on Android 4.4

Have you try it with crosswalk?

It does work but moves up and down very laggy , you got the problem? how can i fix it?

No it works fine with me. Please try to use crosswalk if you are building it on Android 4.3 and below.

I use the “collection-repeat” instead of “ng-repeat” and find it really works.
Maybe the reason of my problem is just because the item of my list is a bit complex.
I really thank you for your kind-hearted replies.

1 Like