В Android 4.3 добавлена поддержка аналога функции TRIM

Опубликовал: 5 лет назад Полезно знать!

Приветствую тебя {username}.

Ты попал в блог web-программиста и любителя интернета.

Я уже множество статей и новостей написал про Android 4.3 и о том, как решить проблему с обновлением и забыл упомянуть о такой хорошей функции, как аналог функции TRIM в Android 4.3. Подробней в полной новости.

Аналог функции Trim в Android 4.3

Очень часто пользователи жаловались на постепенное снижение производительности файлового хранилища после долгих недель использования планшета Nexus 7 первого поколения. Когда новенький планшет не сильно забил флеш-память приложениями и играми, после ряда операций с удалением, установкой была замечена замедленная реакция (в том числе и мной).

Все надеялись, что данную проблему устранят в планшете Nexus 7 нового поколения, но Google удивила абсолютно всех.

Корпорация улучшила работу встроенного хранилища на всех мобильных устройствах Nexus. Как получилось исправить? Все очень просто в новенькой версии Android 4.3 добавили функцию fstrim — это полный аналог функции TRIM в PC накопителях.

Что изменилось? Для этого давайте посмотрим как работает флеш-память. Флеш-память имеет некоторые особенности в работе. Файл, к примеру объемом — 4ГБ сначала помещенный в память, а затем удаленный, будет сначала уменьшать размер доступного хранилища, а затем увеличивать на тот же объем. Но на самом деле во время удаления данного файла сответствующие ячейки памяти лишь помечаются как свободные. А данные не удаляются.

В результате, при последующем пересохранении в данные ячейки контроллеру ставится задача для начала очистить их, а после этого записывать новые данные ячейки. Это как раз и являлось причиной упадка производительности внутреннего хранилища. И чем больше вы записываете и потом удаляете информацию — тем заметней становится снижение производительности.

Функция fstrim, как и TRIM, устраняет данную проблему. Данная функция во время простоя накопителя инициирует автоматическую очистку ячеек памяти на которых стоит пометка «Свободная», но все еще содержит данные. И при последующем цикле записи информации в данные ячейки их не требуется очищать.

Автоматическая очистка ячеек памяти выполняется при ряде условий:

  • Устройство остается неактивным не менее 1 часа
  • Уровень аккумулятора должен составлять не менее 80% (Или не менее 30% при зарядке батареи)
  • Предыдущий процесс автоматической очистки осуществлялся не менее 24 часов назад

На этом все. Надеюсь теперь работа хранилища будет немного побыстрее. Ваши отзывы о работе — пишите в комментарии.

android


Новая система комментариев
comments powered by HyperComments