Mam obecnie pliki obrazów buforujących aplikacje w podkatalogu cache
aplikacji. Obrazy są używane w pliku ListView
i przechowywane w postaci HashMap
z SoftReferences
do do .Najlepsze wskazówki dotyczące buforowania plików w systemie Android
Moje pytanie brzmi: jaki jest najlepszy sposób buforowania tych plików obrazów bez nadmiaru miejsca, z którego korzysta moja aplikacja ORAZ pozostaje responsywny z punktu widzenia użytkownika.
Czego jestem zaniepokojony:
wiem, użytkownik może wyczyścić pamięć podręczną i że odbywa się automatycznie, gdy przestrzeń jest mało pamięci wewnętrznej, ale czuję, że większość użytkowników będzie zobaczyć kilka MB aplikację i ją odinstalować . Ponadto, jeśli przestrzeń jest ciągle niska, moja aplikacja będzie po prostu nadal pobierać obrazy, co sprawi, że będą wolniejsze.
Większość urządzeń ma preinstalowaną kartę SD, ale co należy zrobić, gdy nie jest włożona? Karta SD może być wolniejsza w porównaniu z pamięcią wewnętrzną, co wpływa na wydajność mojej aplikacji.
Czy powinienem podać opcję wyboru położenia pamięci podręcznej?
Czy powinienem próbować zarządzać rozmiarem pamięci podręcznej (czy to w/cache lub/sdcard) czy po prostu o tym zapomnieć?
Dziękuję za poświęcony czas (długi, który znam) i opublikuj wszelkie istotne doświadczenia.
Podoba mi się twoja myśl o zapobieganiu oglądania galerii przez galerię. W jakich warunkach galeria je odbierze? Nie widziałem jeszcze przypadkowych zdjęć i wiem, że w moim telefonie są aplikacje takie jak twidroid, które je buforują. – smith324
@ chris324 Spójrz na http://developer.android.com/guide/topics/data/data-storage.html#filesExternal pod tytułem "Zapisywanie plików, które powinny być udostępnione" – Eric
@Eric dzięki za link, wygląda jak zewnętrzny katalog z pustym plikiem o nazwie '.nomedia' zostanie zignorowany przez MediaScanner. Wygląda również na to, że getExternalCacheDir() jest nowy w wersji 2.2, co przydaje się. – smith324