Подтвердить что ты не робот

Ионные: медленные переходы в установленном приложении для Android

Я установил приложение Ionic (бета-версия 14) на своем устройстве Android (Lollipop), используя:

ionic platform add android
ionic run android

Я также вручную создал приложение и установил его с помощью adb.

В приложении используются ионно-боковые меню, а анимации для переходов между простыми представлениями (список → подробно → подробно) невероятно отстают на удобном телефоне. Анимация, когда боковое меню скользит, очень контрастное.

Чтобы продолжить расследование ситуации, я служил в каталоге www с моего компьютера-разработчика и открыл эту страницу в Chrome на телефоне, и она была такой же гладкой, как и следовало ожидать. Приложение также работает плавно на устройствах iOS.

Есть ли у кого-нибудь подсказки относительно того, почему это так медленно, когда приложение находится в Ionic, но выполняет как ожидалось, когда оно просто отображается в браузере?

4b9b3361

Ответ 1

Я столкнулся с той же проблемой. Это хуже, если вам нужно загрузить много информации. В этом случае я отключу эффект перехода, установив:

nav-transition=none

если вам нужно отключить переход от вашего контроллера, выполните следующие действия:

app.controller('ctrl', function($scope,$state, $ionicViewSwitcher){ $scope.goBack = function(){
    $ionicViewSwitcher.nextTransition('none');
    $state.go('back');
});

Ответ 2

Я нашел некоторые решения, с помощью которых я сталкиваюсь с проблемой при переносе ионных приложений.

  • После изменения состояния я использую этот код.

//OnState Change..

$scope.$on('$stateChangeSuccess', function() {

    $ionicLoading.show();

   MyTeamListing();

  })

которые ударяются каждый раз, когда я изменяю состояние.., которое замедляет приложение.

я просто удаляю первую строку, и мой код работает нормально...

Я не знаю, что это хороший или плохой способ, но он работает для меня хорошо.

Транзакция становится медленной, если слишком много данных является нагрузкой на транзакцию так что я использую ионные события, которые загружают данные после совершения транзакции.

$scope.$on('$ionicView.afterEnter', function(){
            console.log("afterEnter"); 
            $ionicLoading.show();
            loadRemoteData();
            $ionicLoading.hide();
});

Ответ 3

Ну, преимущества развитого гибридного приложения - его повторная юзабилити кода и более быстрое развитие, однако то, что мы получаем от разработки, приводит к медленным гибридным приложениям. Мы можем сделать приложение относительно быстрее, если следовать следующим пунктам:

  • Абсолютно удалить комментарии и ненужные функции.
  • свести к минимуму пустое пространство, сделать ваши функции как можно меньше
  • использовать minified css и js
  • Оптимизировать изображения, чем меньше изображений, тем быстрее приложение
  • если возможно, предварительно загрузите изображения здесь >
  • сохранить несущественный js файл в нижней части страницы перед тегом body
  • удалите ненужные страницы, ненужную прокрутку и большие страницы.
  • ограничить использование полей ввода; используйте радиокнопки, флажки и комбобокс, если это возможно.
  • не используйте jQuery-библиотеку, если она не нужна, используйте javascript