Pracuję w systemie Android, gdzie pamięć jest ograniczona i nie ma funkcji podobnej do wymiany plików. Czytałem, że ludzie zaimplementowali funkcjonalność podobną do wymiany plików przy użyciu plików mapowanych w pamięci w swoich aplikacjach, ale nie rozumiem, jak to działałoby. Czy ktoś wie?Używanie pliku odwzorowanego w pamięci jako pliku wymiany?
Myślę, że ogólny pomysł jest taki, że jeśli mój program chciałby użyć tablicy int o rozmiarze 20 Mb, mógłbym utworzyć dane dla tej tablicy w pliku 20 Mb, a następnie użyć funkcji mapowania pliku pamięci do Przejrzysto wprowadzaj do pamięci części pliku, które obecnie muszę czytać i zapisywać. Kluczowym elementem jest to, że chociaż mam 20Mb przestrzeni do odczytu/zapisu, tylko niewielki ułamek tego jest zawsze w pamięci na raz (aplikacje na Androida są ograniczone do ~ 24Mb pamięci).
Wolę pracować w Javie, ale rozwiązanie C też by działało.
Edit: Ta pamięć odwzorowany plik Sztuką jest wymienione tutaj, ale ja nie rozumiem, jak to działa http://grammerjack.blogspot.com/2009/10/gles-quake-port-of-quake-to-android.html
Czy nie zamieniasz pamięci mapowanej na pliki? – ruslik
Android nie ma skonfigurowanej wymiany. Ze względu na sposób działania aplikacji system operacyjny może zabić wszystko, czego nie ma na pierwszym planie, gdy pamięć się wyczerpuje. Pliki odwzorowane w pamięci działają najlepiej w przypadku danych tylko do odczytu (strony mogą być odrzucane pojedynczo), ale można również wykonać udostępniony odczyt/zapis, aby uzyskać zachowanie podobne do zamiany. – fadden