W przemówieniu na Google I / O 2013 (Writing Custom Views for Android) Romain Guy wyjaśnił nieporozumienie, które spowodowało, że wszyscy zaczęli używać RelativeLayouts do wszystkiego. RelativeLayout zawsze musi wykonać dwa przejścia taktowe. Ogólnie jest to pomijalne, o ile hierarchia widoku jest prosta. Ale jeśli twoja hierarchia jest złożona, wykonanie dodatkowego pomiaru może być potencjalnie dość kosztowne. Również w przypadku zagnieżdżenia RelativeLayouts uzyskasz wykładniczy algorytm pomiaru.
https://www.youtube.com/watch?v=NYtB6mlu7vA&t=1m41s
https://www.youtube.com/watch?v=NYtB6mlu7vA&t=38m04s
Pierre-Antoine LaFayette
źródło
O ile nie układasz wielu widoków (np. W ListView), wydajność wyboru między LinearLayout lub RelativeLayout jest pomijalna. Wybierz to, co jest najwygodniejsze w użyciu, i martw się o wydajność tylko wtedy, gdy jest to konieczne.
A oto, co oficjalna dokumentacja na temat tworzenia wydajnych układów mówi o wydajności RelativeLayout i LinearLayout:
źródło
Układ relatywny jest bardziej efektywny niż układ liniowy.
Od tutaj :
źródło
AKTUALIZACJA 2018: W wersji N systemu Android
ConstraintLayout
klasa zapewnia podobną funkcjonalnośćRelativeLayout
, ale znacznie niższy koszt. Jest to bardzo potężny menedżer układu i powinien być używany, gdy konieczne jest zbudowanie złożonego GUI.źródło
Możesz spróbować
Przekonasz się, że jest wiele różnych, jeśli Twoje strony ładują niektóre obrazy z Internetu. W tym przypadku LinearLayout jest o 100% lepszy niż RelativeLayout kiedykolwiek.
źródło