Mirki, piszę sobie apkę na androida. Mam problem natury wydajnościowej, ponieważ w jednym activity mam zakładki zrealizowane za pomocą PagerAdapter. Każda zakładka zawiera fragment z grid layoutem wypełniony TextViewsami. Danych nie jest dużo, jednak strasznie długo to mi się ładuje, przy utworzeniu nowego Intentu. Ponad 10 sekund. Co robię źle? #programowanie #android #java
Ciężko przewidzieć, ale możesz tworzyć fragment dopiero gdy bedzie potrzebny: majac 1 zakładke tworzysz fragment 2, przechodząc do zakladki 2 trzymasz w pamieci 1 i 3,. Dodatkowo wypróbuj narzędzia do profilowania: http://developer.android.com/tools/debugging/debugging-tracing.html taki zrzut pokaże Ci gdzie aplikacja traci czas
@rykukuku: mówiąc GridLayout masz na myśli komponent GridView? Pokaż kod od adaptera gridview. Być może nie wykorzystujesz "convertView" - widok, który został już wcześniej stworzony a Ty zmieniasz mu tylko dane, które ma wyświetlać.
Operacje, które mogą znacznie opóźniać dopinanie widoku: 1. metoda getView(...) w adapterze GridView 1.1. Brak reużycia convertView - za każdym razem tworzysz nowy pojedynczy widok składowy siatki(grida) 1.2. Brak reużycia viewHoldera - im bardziej masz złożony widok,
Ja uzywam ViewPager i nie mam takich problemow. Wprawdzie fragmenty mam z RelativeLayoutem, to w srodku poza TextView mam ImageViews i jakies Custom View + GridView. Jezeli to tylko kilka ( a nie kilkadziesiat :P ) TextView to nawet jesli nie uzyles ViewHoldera w adapterze to nie ma mozliwosci, ze to spowalnia Ci az tak przez to. To co mozesz sprawdzic, to czy np nie masz tam jakiegos drawable, ktore nie jest
#programowanie #android #java
@bartosz-k999:
Operacje, które mogą znacznie opóźniać dopinanie widoku:
1. metoda getView(...) w adapterze GridView
1.1. Brak reużycia convertView - za każdym razem tworzysz nowy pojedynczy widok składowy siatki(grida)
1.2. Brak reużycia viewHoldera - im bardziej masz złożony widok,