2015-03-03 10 views
18

Mam zainstalowaną aplikację Ionic (beta 14) na moim Android (Lollipop) urządzenia za pomocą:Ionic: powolne przemiany w zainstalowanej aplikacji dla Androida

ionic platform add android 
ionic run android 

Mam również ręcznie zbudowany aplikację i zainstalować ją z ADB.

Aplikacja korzysta z menu po stronie jonowej, a animacje dla przejść między prostymi widokami (lista -> szczegóły -> szczegóły) są niezwykle niepewne w przypadku sprawnego telefonu. Animacja po wysunięciu menu bocznego jest bardzo płynna.

Aby dokładniej zbadać sytuację, posłużyłem się katalogiem www z mojego komputera i otworzyłem tę stronę w Chrome na telefonie i było tak gładko, jak można się było spodziewać. Aplikacja działa również bezproblemowo na urządzeniach z iOS.

Czy ktoś ma jakieś wskazówki, dlaczego jest tak powolny, gdy aplikacja jest w Ionic, ale wykonuje się zgodnie z oczekiwaniami, gdy jest po prostu renderowane w przeglądarce?

+0

jej już rok lub tak ... android wsparcie nie jest tak dobry w jonowej. zwłaszcza z przejściami. –

+0

Czy to oznacza, że ​​Ionic jest złym narzędziem? Próbuję znaleźć rozwiązanie sieciowe, które NAPRAWDĘ zapewnia rodzimą obsługę ... ale to powoduje problemy z przejściami ... są śmieszne – eMarine

Odpowiedz

7

Miałem do czynienia z tym samym problemem. Gorzej w przypadku, gdy musisz załadować wiele informacji. W tych okazji, wyłączyć efekt przejścia przez ustawienie:

nav-transition=none 

jeśli trzeba wyłączyć przejście od kontrolera, wykonaj następujące czynności:

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

Znalazłem niektóre rozwiązania według którego twarz problemu w jonowej app transitiosn ..

  1. Po State Zmień używam tego kodu ..

// OnState Zmień ..

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

    $ionicLoading.show(); 

    MyTeamListing(); 

    }) 

który uderzył służyć za każdym razem, kiedy zmieniam stan .. co jest spowolnić aplikację.

Właśnie Usuń pierwszą linię i mój kod działa poprawnie ...

Nie wiem, to jest dobry lub zły sposób, ale jego praca dla mnie w porządku ..

transakcja jest stać się powolny jeśli zbyt duża ilość danych jest obciążona transakcją , tak że używam zdarzeń jonowych, które ładują dane po zakończeniu transakcji.

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

Uważam jednak, że jest o wiele więcej dobrych praktyk, dzięki którym nasza aplikacja jest szybsza. –

0

No Urokami rozwój hybryd aplikacji jest jej kod ponownego wykorzystania i szybszy rozwój jednak jakie korzyści możemy uzyskać na rozwój wyniki w powolnych aplikacjach hybrydowych.Możemy sprawić, że stosowanie stosunkowo szybciej, jeśli kierujemy się następujące punkty:

  • całkowicie usunąć komentarze i zbędne funkcje
  • zminimalizować white-space, dokonać funkcje jak najmniejsze
  • użytku minified css i js
  • optymalizacji obrazów, tym mniej zdjęć szybsza aplikacja
  • jeśli to możliwe, preload obrazom check here
  • utrzymać nieistotny plik js do u dołu strony tuż przed końcem tagu body
  • usuwa niepotrzebne strony, niepotrzebne przewijanie i duże strony.
  • ograniczają użycie pól wprowadzania; w miarę możliwości używaj przycisków radiowych, pól wyboru i comboboxów.
  • nie używać biblioteki jQuery chyba niezwykle konieczności korzystania javascript