Wydaje mi się, że mam nierozwiązywalny problem, spędziłem weekend na nim, nie mogłem go naprawić. Kiedy tworzę prostą aplikację testową z dwiema czynnościami: 1. Główna aktywność: kilka przycisków, minutnik (wątek tła) i lekkie żądanie do bazy danych SQLite. 2. Druga aktywność: kilka przycisków, tylko jeden ma odbiornik kliknięcia, po kliknięciu go po prostu wracasz do pierwszego działania. Używam dużych przycisków (szerokość ekranu około jednej czwartej wysokości ekranu), zasoby układu xml nie zawierają zagnieżdżonych elementów wagowych ani innych egzotycznych elementów.Wydajność Androida na poziomie 11 i wyższym
Jest to projekt testowy, nie ma innych funkcji.
Mam następujący poważny problem: - kiedy ustawiam poziom API w pliku manifestu na 3, wszystko działa idealnie. (ekran automatycznie w trybie zgodności) - po ustawieniu poziomu api na poziomie 11 lub wyższym, załadowanie drugiego działania może zająć do 10 sekund. Po pierwszym otwarciu drugiego działania rzeczy wydają się być buforowane, opóźnienie już nie istnieje. - kiedy ustawiam poziom api na 11 lub wyższy i wymuszam tryb zgodności (res ekranu): bez zmian, opóźnienie pozostaje.
Zbudowałem ten projekt testowy, ponieważ napotkałem ten problem podczas uaktualniania starszej aplikacji. Płynnie działał na starszych poziomach api, gdy tylko wprowadzę go na Androida w wersji 3 lub wyższej, opóźnia się do 25 sekund! (nawet w przypadku otwierania działania wyświetlającego tylko tekst statyczny ...).
Testuję na nowej karcie Galaxy, która nie może być problemem. Spędziłem wiele godzin szukając rozwiązania, nigdy niczego nie znajdując. Nawet całkowicie odinstalowałem Eclipse i wszystkie zasoby androidów i zaktualizowałem wszystko (łącznie z przywróceniem ustawień fabrycznych karty Galaxy Tab). Brak szczęścia.
Zrobiłem ślad, problem jest w GLES20Canvas.nDrawDisplayList. Wydaje się, że tworzenie tej listy zajmuje dużo czasu, nawet jeśli nie ma wiele do zrobienia ...
Czy ktoś ma pojęcia, jak mogę to rozwiązać?
Dzięki, Martin
Dzięki.Czytałem ten artykuł wcześniej i eksperymentowałem. Brak szczęścia. Faktem jest, że nawet prosty tekst wymaga sekund do renderowania (nic więcej w układzie). Jedynym rozwiązaniem, które udało mi się znaleźć, jest wyłączenie akceleracji sprzętowej. – martin
Romain Guy jest po prostu apologetą Google'a i nie można mu zawracać sobie głowy rozwiązywaniem problemów, z jakimi borykają się deweloperzy. – StackOverflowed