.NET i takie tam

Pamięć na urządzeniach przenośnych

leave a comment »

Problem z pisaniem aplikacji na smart devices – jest taki, że mamy zdecydowanie za mało zasobów do dyspozycji. I nie mam bynajmniej – na myśli pamięci RAM. Problem jest z tzw. Virtual Adress Space. Każda aplikacja mobilna ma do dyspozycji tylko 32MB. Dla porównania aplikacje desktopowe mają jej do dyspozycji aż 4GB).

W najgorszym wypadku, na naszym urządzeniu przenośnym, VAS może się skończyć wcześniej niż pamięć RAM. W takiej sytuacji nasza aplikacja zwykle odmawia posłuszeństwa – rzucając raczej mgliste/przypadkowe wyjątki. Najczęściej widocznym na forach przykładem tego problemu jest problem z inicjalizacją replikacji SQL Server 2005 Compact Edition z jej większym bratem.

Jak zmniejszyć zużycie VAS – cóż możemy spróbować zminimalizować liczbę używanych bibliotek i włączyć je do naszego programu. Rozwiązanie to ma dwie a właściwie trzy wady

  • Zwiększa rozmiar naszego pliku exe, a im większy plik tym nasza aplikacja ładuje się wolniej.
  • Utrudnia powtórne użycie kodu.
  • Nie zawsze jest możliwe do wykonania – musimy posiadać kod źródłowy tych że dll’ek.

Innym sposobem radzenia sobie z tym problemem jest – załadowanie największych obiektów do pamięci zaraz po uruchomieniu aplikacji – i modlitwa, żeby reszta jakoś się zmieściła😉

Również sporo zależy od urządzenia, na którym pracujemy – np. Orange SPV M5000 – baza danych, jakiś web service i próba replikacji kończy się fiaskiem – i z drugiej strony nieco starszy Dell X51 z taką samą ilością pamięci i nieco słabszym procesorem – radzi sobie z tymi zadaniami bardzo dobrze.

Written by sakowicz

Kwiecień 16, 2007 @ 1:37 pm

Napisane w .NET CF

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

%d bloggers like this: