септември 12, 2023

Защо Android 14 не може да определя правилно колко памет заемат приложенията?

Ако искате да знаете точно колко пространство заемат приложенията, ще трябва да използвате смартфон Samsung Galaxy с фърмуер One UI 6. Тъй като “чистият“ Android 14 и обвивките на останалите производители, базирани на него, изчисляват неправилно количеството заета памет по компоненти на системата. Поради това, потребителите виждат прекомерно използване на паметта от системата, което потенциално ги подвежда.

На какво се дължи неправилното определяне на заетата памет в Android 14?

Специалистът по Android Мишал Рахман е открил, че алгоритъмът на Google за изчисляване на пространството, заемано от системните компоненти, е грешен. Той изпълнява командите на обвивката, за да създаде 3GB файл в /data/media/0, който не е файлов път и се използва за системните файлове на Android. Разбивката на паметта на телефона обаче е показала забележимо увеличение от 3GB под System. Тоест, за потребителя операционната система в неговия смартфон изведнъж започва да заема повече място.

Това е така, защото Android изчислява системното хранилище като пространство, използвано от всяко съдържание, различно от категоризираните типове данни (аудио, видео, изображения, документи, кошче, игри и т.н.). Това означава, че показанията на “Система“ съдържат повече Android системни файлове.

Android 14 също използва тази грешна логика за изчисляване на използваната памет. Освен това, приложението Files на Google също показва подобно използване на паметта от системните компоненти на Android, вероятно защото използва същата логика на изчисляване.

Тъй като други скинове и фърмуери също разчитат на този алгоритъм за изчисляване на заетата памет от Android, те също показват неверни данни. Само Samsung коригира този проблем с актуализацията на фърмуера One UI 6. Рахман потвърждава, че този фърмуер премества некласифицираните файлове в секцията „Други файлове“ вместо в „Система“.

Кое подвежда потребителите?

Рахман подчертава и друга значителна аномалия в начина, по който Android изчислява използването на паметта и как производителите на смартфони го рекламират. Повечето хора смятат капацитета за съхранение на телефона си в байтове, които могат да бъдат изразени като експоненциална степен от 10. Това означава, че често смятаме, че един гигабайт съдържа 1000000000 байта. Производителите на смартфони обаче рекламират капацитета на паметта в гигабайти.

Междувременно Android измерва паметта в гибибайтове, което е 1073741824 байта, защото е представено като експоненциална степен на 2. В резултат на това, 1 гигабайт (GB) е равен на 0,93 гибибайта (GiB).

Поради тази разлика в мерните единици, потребителите на смартфони може да си помислят, че инсталираната операционна система Android заема повече гигабайти, отколкото в действителност. В съчетание с грешното изчисляване на използваната памет, средният потребител на Android може да мисли, че елементите заемат значително повече място, отколкото в действителност.


source

Сподели: