![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 15.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Piszę aplikację na androida w jquery + phonegap. Jest to katalog offline, dane do katalogu eksportowane są z bazy presta shop do formatu JSON. Problem polega na tym, że plik JSON zawiera ok. 10tys. rekordów i zajmuje ponad 13MB. Przez co wyświetlenie wyników trwa stanowczo za długo. Moje pytanie: w jaki sposób zminimalizować czas na wyświetlenie wyników.
Próbka danych w formacie JSON:
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Porcjować po np. 500?
Dobierać ajaxem kawałki i renderować. Na pewno masz stronicowanie tego, czy coś. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Podstawowe pytanie: czy dane są kompresowane, np. gzipem?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 717 Pomógł: 120 Dołączył: 18.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
na pewno to co napisał przedmówca.
poza tym można jeszcze zoptymalizować. Zauważyłem np. że używasz HTMLa w stringach: a np. gdybyś zamiast HTMLa używał bardziej lekkiego zapisu Markdown a potem konwertował na HTMLa, miałbyś mniej znaków. http://en.wikipedia.org/wiki/Markdown Dalej, można jeszcze minimalizować JSONa (usuwać białe spacje). Albo nie wiem, zapisywać w formie tablic zamiast obiektów, czyli zamiast:
a potem najwyżej przerabiać/deserializować te tablice na obiekty w funkcji która to wczytuje. chociaż i tak wydaje mi się, że najwięcej by pomogła właśnie kompresja jakimś Gzipem jednak... ew. zmienic w ogóle podejście i nie ładować tego do jsona, a trzymać to w jakiejś bazie danych czy czymś takim... EDIT: Cytat Moje pytanie: w jaki sposób zminimalizować czas na wyświetlenie wyników. wyświetlenie czy pobranie? Bo i tak chyba nie wyświetlasz biednemu człowiekowi 10 tysięcy rekordów naraz? Bo to by nie miało sensu. Dwa, że wtedy problemem nie byłby pewnie JSON, tylko raczej sposób renderowania (i zapewne zbyt duża liczba obiektów do wyświetlenia na raz) Ten post edytował PrinceOfPersia 1.05.2015, 23:48:22 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.09.2025 - 23:53 |