Czy rozmiar ma znaczenie?

W tym przypadku prawo nagłówków Betteridge’a nie ma zastosowania, odpowiedź będzie twierdząca, a wszystko za sprawą Androida.

Logo Androida
Źródło: https://en.wikipedia.org/wiki/Android_(operating_system)

Od roku korzystam z Yanosika. Jakiś czas temu zauważyłem, że niemal skończyło mi się miejsce na karcie SD. Szybkie śledztwo ujawniło, że głównym winowajcą nie są – jak przypuszczałem – zdjęcia, tylko katalog yanosik-new, który zajmował ponad 700 MB z dostępnych 2 GB na karcie (wiem, mała, taka zaszłość). Ponarzekałem na FB, usłyszałem, że zawartość katalogu można bezpiecznie usunąć – odbuduje sobie co potrzebne. Znaczy się klasyczny cache. OK, rok używany, karta mała, nie robię afery. Usunąłem.

Ostatnimi dniami coś Yanosik zaczął zgłaszać błędy w stylu aplikacja nie odpowiada – czekaj/zgłoś/zamknij. Coś mnie tknęło, żeby znowu sprawdzić zajętość karty i… bingo. Znowu brak wolnego miejsca. Co prawda zrobiłem na urlopie parę zdjęć, ale zdecydowanie nie kilkaset MB. Oczywiście znowu yanosik-new ma rozmiar ponad 700 MB… Zacząłem szukać większej karty i rozglądać się za instrukcją zmiany karty w telefonie na większą. Przy okazji obmyślając, jakich ciepłych słów użyć pod adresem autorów Yanosika, bo zużycie 700 MB w rok to jeszcze jestem jakoś w stanie zrozumieć, ale w 3 tygodnie?

Znalazłem jakąś kartę 4 GB, ale okazało się, że muszę sprawdzić, czy jest sprawna. Wymiana karty SD w urządzeniach z Androidem jest prosta – wystarczy zgrać całą zawartość na komputer, sformatować nową kartę, przegrać wszystkie dane na nową. I powinno działać. Wygląda prosto, ale stwierdziłem, że zrobię backup, poza tym i tak wygodniej wrzucić całość na chwilę na komputer, niż kopiować między czytnikami.

I tu niespodzianka. Po usunięciu miniaturek zdjęć (jakieś 200 czy 300 MB) i skopiowaniu wszystkich danych na dysku katalog zajął… 880 MB.  Czyli jakąś połowę tego, co na karcie. W tym momencie zapaliła mi się lampka ostrzegawcza. Czyżby rozmiar bloku? Katalog Yanosika ma dużo małych kilkusetbajtowych plików, więc może o to chodzi. Sprawdziłem jego rozmiar w komputerze. 130 MB, więc bez dramatu. Czyżby autorzy zrobili taki bezsensowny i niedostosowany do Androida cache?

Zacząłem drążyć temat i okazało się, że cfdisk pokazuje jako system plików FAT16. No ale jak to? I jaki jest rozmiar bloku dla FAT 16? I czy w ogóle pojemności rzędu 2 GB są obsługiwane przez taki zabytek? Szybka wyprawa do muzeum i okazało się, że owszem, FAT16 obsługuje pojemności dysku do 2 GB. A rozmiar bloku to wówczas… 32 kB. Zamiast wymieniać kartę, postanowiłem zrobić mały eksperyment: zmienić system plików na FAT32.

Zmieniłem typ partycji w cfdisk (raczej bez znaczenia) i sformatowałem kartę przy pomocy mkfs.vfat -F 32, czyli wymuszając FAT32. Skopiowałem dane z komputera, włączyłem telefon, odbudowałem cache zdjęć. Po tym zabiegu jest 930 GB wolnego, bez kasowania jakichkolwiek danych! Czyli rozmiar bloku ma w przypadku urządzeń z Androidem duże znaczenie.

Zastanawiam się tylko, jak to możliwe. Kto w XXI w. używa FAT16? Nie kojarzę gdzie była formatowana karta. Wiele wskazuje na to, że w samym telefonie. Czyżby Android był tak słabo zaprojektowany, że domyślnie formatuje karty o rozmiarze 2 GB i mniejsze na FAT16? Jeśli tak, to jak widać zupełnie bez sensu. Ciekawe też, jaki system plików jest w na wbudowanej pamięci flash. Bo o ile karty microSD są tanie (8 GB class 4 od 12 zł widzę, za mniej niż 20 zł można nawet 16 GB class 10 w sklepie kupić), więc rozważania o rozmiarze 2 GB są czysto teoretyczne, o tyle w przypadku wbudowanej pamięci nie ma możliwości zmiany jej rozmiaru – trzeba zmienić urządzenie. Gra w tym przypadku (Yanosik i jego cache plus jakieś inne dane typu zdjęcia, ale przypuszczam, że nie on jeden tak robi…) toczy się w praktyce o podwojenie miejsca…

Pewnego rodzaju obejściem problemu może być w tym przypadku opisane kiedyś przeniesienie aplikacji z pamięci wbudowanej na kartę. Oczywiście najlepiej sformatowaną na FAT32, ale to powinno już stać się automatycznie w przypadku pojemności większych niż 2 GB.

Jak przenieść aplikację na kartę SD w systemie Android? HOWTO

Na jednym starym urządzeniu z Androidem mam śmieszną ilość wbudowanego dysku w urządzeniu – poniżej 512 MB. Do tego wydawało mi się, że aplikacje ze sklepu Google Play mogą być instalowane tylko na wbudowanym flash w urządzenie. Dziś dowiedziałem się, jak zmusić Androida (przynajmniej poniżej wersji 5) do instalacji oprogramowania bezpośrednio na karcie SD. Operacja jest umiarkowanie prosta, więc jeśli ktoś ma problem z brakiem miejsca na telefonie, to polecam. Co zdziwiło mnie najbardziej to fakt, że nie jest konieczne rootowanie telefonu.

Wymagania

Aby odblokować możliwość przenoszenia praktycznie dowolnego oprogramowania na kartę SD, potrzebne będą:

  • kabel USB do połączenia telefonu i komputera,
  • Android w wersji niższej niż 5,
  • włączenie USB debugging na urządzeniu na czas zmiany ustawień,
  • oprogramowanie Android Debug Bridge (ADB) zainstalowane na komputerze (w przypadku Linuksa powinno być w repozytoriach).

Odblokowanie przenoszenia programów na kartę SD

  • upewniamy się, że tryb USB debugging jest włączony lub włączamy go,
  • podłączamy urządzenie do komputera,
  • sprawdzamy, czy jest widoczne (polecenie adb devices),
  • jeśli jest widoczne, wydajemy polecenie adb shell,
  • w powstałej konsoli wydajemy polecenie pm get-install-location – zapewne zobaczymy 0 lub 1, co oznacza odpowiednio wybór automatyczny lub wewnętrzną pamięć flash,
  • zmieniamy wartość na 2: pm set-install-location 2,
  • zamykamy konsolę adb, odpinamy telefon od komputera, wyłączamy USB debugging.

Przenoszenie programów na kartę SD

  • na telefonie wybieramy Ustawienia -> Aplikacje -> Na karcie SD,
  • „ptaszek” przy nazwie programu oznacza, że jest on na karcie SD,
  • wybieramy kolejno aplikacje i w ich ustawieniach wybieramy przenieś na kartę SD.

Po chwili powinniśmy zauważyć przyrost wolnego miejsca na wbudowanym w urządzenie nośniku.

Wady

Poza oczywistą zaletą, czyli możliwością instalacji większej ilości programów, co często oznacza być albo nie być dla urządzenia, są też wady:

  • wbudowana pamięć flash jest zwykle szybsza, niż karta, ale w praktyce nie odczuwam tego, na typowej lowendowej karcie,
  • niektóre aplikacje, zwł. systemowe lub Google nadal nie dają się przenieść,
  • przenoszone aplikacje zajmują nadal trochę miejsca na wewnętrznej pamięci.

Na zakończenie polecam lekturę pełniejszego opisu, z obrazkami (ang.) – widziałem kilka opisów, ale ten wydaje mi się najlepszy i najbardziej przystępny.

UPDATE

Debugowanie USB w Androidzie 4.2 i nowszych

W przypadku Androida w wersji 4.2 i nowszych, nie można tak zwyczajnie włączyć debugowania USB. Należy najpierw odblokować ukryte menu, a żeby to zrobić należy zostać programistą.
Wybieramy Ustawienia -> System -> Informacje o urządzeniu -> O telefonie i naciskamy 7 razy (nie, to nie jest żart). Po tym otrzymujemy informację, że zostaliśmy programistą. Następnie standardowo w Opcje programisty wybieramy Debugowanie USB.

Handel po polsku – jednak się da? @XKOM_PL

Generalnie nie mam w zwyczaju opisywać każdego sklepu (chyba, że ostro skopią…), w którym kupuję, ale dla x-kom.pl zrobię wyjątek, bo mnie urzekli aktywnością na Twitterze. Chyba pierwsza polska firma, która robi sensowny i nienachalny marketing w social media (tu: Twitter), więc w nagrodę trochę konstruktywnej – mam nadzieję – krytyki (czepialstwa).

tl;dr – warto obserwować na Twitterze, dobre promocje, działają nieźle i szybko, choć pewne rzeczy, raczej kosmetyczne, można poprawić.

Zaczęło się od tego, że któryś ze znajomych podzielił się statusem o którejś promocji. I okazała się ona być sensowna. Znaczy faktycznie upust do dobrej ceny, a nie „mamy 30% drożej niż konkurencja, to obniżmy cenę o 25% i zróbmy szum”. Rzuciłem okiem, stwierdziłem, że warto dodać do obserwowanych, bo może kiedyś coś mi się przyda, a recenzje klientów dość entuzjastyczne. Poza tym, jest interakcja z użytkownikami i raczej niewiele „pustych” statusów typu „co u was słychać?”. Chociaż – po sprawdzeniu – takie też się pojawiają, ale normalnie nie rzuca się w oczy, więc strawna ilość.

Wczoraj nadszedł ten dzień, że pojawiły się w promocji karty microSD Sandisk 16GB class 10. Za 19,99 zł, czyli cena, w której normalnie można kupić class 4. Sprawdziłem dziś na popularnym portalu Aukcyjnym i najtańsze takie karty były po 24 zł. Pomyślałem, że do Banana Pi jak znalazł i kupiłem. No to obiecane wrażenia z zakupu.

Kupno w sklepie internetowym wymaga rejestracji. Nie przepadam, ale taki jest de facto standard, więc nie narzekam. Na plus – zgoda na wysyłkę info o promocjach nie jest obowiązkowa. Na minus – konieczne jest podanie numeru telefonu, który – uprzedzę fakty – do niczego nie jest tak naprawdę potrzebny.

Po finalizacji zamówienia pojawia się informacja, że mail został wysłany. I żeby sprawdzać folder Spam. Zwłaszcza to drugie dziwi, bo istnieją sposoby, żeby takie rzeczy nie miały miejsca. Dla leniwych: są serwisy, przy użyciu których rozwiązuje się ten problem rzutem pieniądza, także polskie. Kolejna rzecz na minus – na maila czeka się długo. Na tyle długo, że zacząłem się dopytywać na Twitterze, ile. I nie, nie chodzi o greylisting. Ani nie wymagam od poczty dotarcia w kilkanaście sekund (choć prawda jest taka, że z większości serwisów maile mam na skrzynce w małe kilkadziesiąt sekund).

Łącznie dostałem cztery maile, wszystkie z jednego adresu (OK!):

  1. Potwierdzenie rejestracji
  2. Twoje zamówienie zostało przyjęte
  3. Twoje zamówienie oczekuje na realizację
  4. Twoje zamówienie zostało przekazane do realizacji

Pierwszego nie trzeba komentować – po prostu potwierdzenie rejestracji. Drugi, wysłany 8 minut(!) później, potwierdza przyjęcie do zamówienia i mówi, że „W kolejnej wiadomości otrzymasz szczegółowe informacje na temat sposobu jego realizacji”. Ciekawostką jest trzeci „Twoje zamówienie nr xxx zostanie skompletowane najszybciej jak to możliwe. Poinformujemy Cię o tym w kolejnej wiadomości. Jeśli terminy dostawy produktów Ci nie odpowiadają, możesz anulować zamówienie klikając na ten link”. Kupiłem dwie sztuki z odbiorem w salonie, dostępna była jedna. Fajnie, że mogę zrezygnować z zamówienia, ale szkoda, że nie ma informacji, ile będę tak naprawdę czekał (brak nawet przybliżonego czasu). Ostatni mail zawiera informację o tym, że zamówienie można odebrać. I został wysłany 25h od złożenia zamówienia, czyli bardzo dobry wynik.

Co mi się nie podoba? Tematy maili. Pierwsze dwa są OK, ale trzeci i czwarty są IMO mylące. Jak dla mnie to zamówienie „oczekuje na realizację”  czy też „jest realizowane” od momentu przyjęcia zamówienia. Nazwałbym to po prostu „opóźnienie w realizacji zamówienia”, bo taka jest wymowa. I dodał orientacyjny termin. Ostatnie – zupełnie nie wiem, czemu nie „zamówienie gotowe do odbioru” ew., jeśli to wspólne dla wysyłek pocztą „zamówienie zrealizowane”.

I tu dochodzi ostatni element, czyli SMS. Po pierwsze, został on wysłany po ostatnim mailu. Minutę, ale jednak. Po drugie, nie zawierał numeru zamówienia. Po trzecie: nic nie wniósł całego procesu. Numer telefonu mógłby być niewymagany, tak naprawdę.

Wyszło, że narzekam. Ale nie narzekam, wręcz przeciwnie. Jest szybko (25h od zamówienia do odbioru w moim mieście) i sprawnie, ceny dobre. Miła odmiana po tym, co opisywałem ostatnio, choć przyznaję, że Chińczycy stawiają poprzeczkę wysoko, jeśli chodzi o ceny, czas realizacji i obsługę klienta (w tym bezpieczeństwo transakcji). Podsumowanie: dobre ceny (przynajmniej na promocjach), szybka realizacja. Będę kibicować i korzystać.