Fórum SEMania.cz

Ostatni => Programy pro mobilni telefony => Téma založeno: v6ak 09. Duben 2009, 22:42



Název: Nesmyslna hlaska nekterych aplikaci o nedostatku mista pri ukladani na kartu - reseni (workaround)
Autor: v6ak 09. Duben 2009, 22:42
Napriklad v aplikaci BT File Manager nebo MiniCommander je nekdy problem s ukladanim na kartu - odvolavaji se na nedostatek mista i prestoze je mista dost. Co s tim?
Zkoumanim jsem dosel k tomu, ze pujde asi o Integer overflow (http://en.wikipedia.org/wiki/Integer_overflow) - proste se nepocitalo s velkym mnozstvim volneho mista. Sedi to na 2 GiB (http://en.wikipedia.org/wiki/Gibibyte), protoze java nema unsigned integery.
Co tedy s tim? Na nesmyslnou hlasku o nedostatku pameti by melo pomoct jeji zaplneni! Zni to paradoxne, ale ma to logicke opodstatneni a fungovalo mi to! Mam 4GB kartu a dokud jsem mel nad 2GiB (http://en.wikipedia.org/wiki/Gibibyte) volneho mista, byl problem. Jakmile jsem zaplnil dostatek pameti, zacalo to byt OK.
A jak to podle moji teorie vypada s pameti nad 4 GiB (http://en.wikipedia.org/wiki/Gibibyte)? Rozeberu to tu od zacatku, jak to asi bude celkove vypadat. Melo by to stejne platit i pro karty mensi (s tim rozdilem, ze je mozne dosahnout mene volneho mista):
* Pod 2 GiB (http://en.wikipedia.org/wiki/Gibibyte) volneho mista to je videt spravne.
* Od 2 GiB (http://en.wikipedia.org/wiki/Gibibyte) (vcetne) do 4 GiB (http://en.wikipedia.org/wiki/Gibibyte) (bez) skutecneho volneho mista je videt zaporne volne misto.
* pro 4 GiB (http://en.wikipedia.org/wiki/Gibibyte) je videt volne misto 0B a dal roste normalne (napr. 4.2 GiB (http://en.wikipedia.org/wiki/Gibibyte) je videt jako 0.2 GiB (http://en.wikipedia.org/wiki/Gibibyte).)
* Jakmile volne misto dosahne 6 GiB (http://en.wikipedia.org/wiki/Gibibyte), je viditelne misto zase zaporne a vpodstate se to dal opakuje.
Viditelne volne misto je tedy periodicka funkce s periodou 4 GiB (http://en.wikipedia.org/wiki/Gibibyte). Jeji minimum je -2GiB (http://en.wikipedia.org/wiki/Gibibyte) a maximum je 2GiB (http://en.wikipedia.org/wiki/Gibibyte)-1B a v ramci periody jde o linearni rostouci funkci.



© SEMania 2004-2007 | Powered by SMF.
© 2005, Simple Machines. Všechna práva vyhrazena.