Android: огромный файл thumbdata4 в папке DCIM

22

Недавно я заметил огромный (> 3,5 ГБ) файл в папке DCIM / .thumbnails. Я попытался удалить его, но в следующий раз, когда я открою приложение «Камера», оно перестроит файл (и заблокирует телефон, иногда отображая в процессе сообщение «Идет сканирование мультимедиа»).

Общий размер файла всех (приблизительно 2000) фотографий, отображаемых в Галерее, составляет около 500 МБ. Кроме того, в папках, содержащих файлы .nomedia, содержится около 35 000 изображений, чтобы Android мог игнорировать содержащиеся в них файлы. Общий размер файла составляет около 1,5 ГБ. Приложение Галерея корректно игнорирует эти изображения, но мне интересно, действительно ли приложение Камера плохо себя ведет и обрабатывает их.

Я думаю, что эта проблема возникла после обновления ICS ... либо когда телефон (Samsung Galaxy Note) был впервые обновлен с Gingerbread, либо позже.

Есть идеи, пожалуйста?


источник
1
В файле thumbdata хранится микро-миниатюра размером 10 Кбайт для каждого изображения (без учета .nomedia) iirc. Если он становится таким огромным, Samsung, возможно, что-то сломал. см. MiniThumbFile.java
Хмм MiniThumbFile хранит смещение данных с идентификатором, который является номером, который присваивается всем файлам на вашем устройстве, включая файлы Nomedia. Если у вас много файлов и у ваших изображений высокий идентификатор, они будут размещены очень поздно в мини-файле. Вы можете получить файл меньшего размера, если попытаетесь получить меньшие идентификаторы для своих реальных изображений (возможно, переименование папок с изображениями Nomedia во что-то с Z или около того может сработать - также сбросьте базу данных мультимедиа где-нибудь в системных настройках> приложения> Media Provider). или около того)
Спасибо за ваши предложения, запл. Я не понимаю, почему ваше предложение об именовании папок nomedia позже в алфавите помогло бы; занимают ли более высокие номера id больше места? К счастью, я, кажется, нашел обходной путь. Смотрите мой ответ ниже.
Кстати, я вижу, что был один голос, чтобы «закрыть» этот вопрос еще до того, как на него был дан ответ. Я не понимаю Неужели кто-то считает вопрос каким-то неуместным?
1
Вопрос не связан с программированием и подойдет ли IMO лучше для энтузиастов Android . Относительно большего идентификатора: я не уверен на 100%, но в long pos = id * BYTES_PER_MINTHUMB;качестве позиции в файле используется thumbfile , поэтому чем больше id, тем больше должен быть файл. 2000 из этих больших пальцев (с идентификаторами 0-1999) должны быть только около 20 МБ. Меня смущает то, что у вас есть файл minithumb4, в то время как официальный источник имеет только версию 3.

Ответы:

4

Это происходит, когда вы загружаете много изображений одновременно через сторонние приложения, такие как whats'app или pixlrxperss. До сих пор единственным известным решением является замена файла .thumbnail на небольшой файл .thumbnail с тем же именем. Таких файлов может быть максимум 2, которые вам, возможно, придется заменять каждый раз.


источник
2

Это нормально и обычно не является ошибкой.

Обычно.

Прежде чем делать что-либо еще, попробуйте выяснить, использует ли хранилище вашего телефона файловую систему, которая не является FAT или какой-либо из ее собратьев.

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

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

Mithaldu
источник
1
по крайней мере на CyanogenMod9, раздел / mnt / sdcard, если VFAT, поэтому не поддерживает разреженные файлы - попытка создать его вместо этого создаст НАСТОЯЩИЙ огромный файл, заполненный нулями, а не разреженный файл.
Матия Налис
1

По поиску я нашел ссылки на ошибку в ICS, которая может быть причиной этой проблемы.

Следующий совет здесь у меня есть:

  1. Удалил файл thumbdata (в DCIM / .thumbnails)

  2. В Настройки-> Приложения-> Все-> Галерея: очистить данные (всего несколько МБ), (я бы также очистил кеш, если бы там было что-то), затем «Принудительная остановка»

  3. В Настройки-> Приложения-> Все-> Хранилище мультимедиа: очистить данные (только около 30 МБ), (я бы также очистил кэш, если бы там было что-то), затем «Принудительная остановка»

  4. Перезапустил телефон

Когда я в следующий раз запустил приложение «Камера», оно долгое время не отвечало, возможно, 20–30 минут, предположительно во время повторного сканирования медиафайлов. После ожидания завершения этого процесса теперь все в порядке:

  • Камера, Галерея и QuickPic, кажется, работают

  • thumbdata4, кажется, установился на уровне около 500 МБ (все еще на удивление большой, но управляемый).


источник
1
Я говорил слишком рано. После 4 или 5 дней использования одинакового размера файл .thumbdata4 подскочил до 1,1 ГБ.
Удалите папку .thumnails и создайте файл с тем же именем на своем месте, это предотвратит повторное
3
для решения этой проблемы предлагается следующее: скопируйте .thumbnail .. имя файла, удалите его и создайте папку в dcim / thumbnails / с тем же именем, что и у файла. Это предотвращает создание файла галереей снова. Но, думаю, через некоторое время он создаст его под другим именем. У меня есть 2 ГБ фотографий в телефоне. И около 3-4 ГБ файлов .thumbnail .. это смешно
Kokesh
@ 79E09796 Работает только до тех пор, пока вы не сделаете еще одну фотографию или не передвинете ее на свой телефон.
Секо
1

Я знаю, что вопрос старый, но я пытался найти решение здесь и на этих форумах Android. Никто, казалось, не работал.

Создание ссылки на / dev / null в .thumbnails решило проблему и теперь кажется очевидным:

  1. Подключите телефон к компьютеру
  2. Найдите огромную папку DCIM / .thumbnails и удалите ее
  3. Создайте ссылку на / dev / null в качестве пользователя root с именем папки:

    $ sudo ln -s / dev / null .thumbnails

Это позволяет избежать повторного создания папки. Я не заметил ничего плохого в моем устройстве, даже с миниатюрами в WhatsApp или QuickPic.

Andión
источник
1
К сожалению, по крайней мере на CynogenMod 9 (на базе Android 4.0.4) / mnt / sdcard имеет тип VFAT, поэтому символические ссылки не поддерживаются (как и другие приятные вещи, которые работают на файловых системах ext2 / 3/4 - например, «chown root .thumbnails»). ; chmod 000 .thumbnails; chattr + i .thumbnails ")
Матия Налис
0

В Android 6.0 (Marshmallow) приложение Галерея заменено на Google Фото. Вы должны иметь возможность удалить папку с миниатюрами, так как я не думаю, что приложение Photos использует ее.

Грег Брей
источник
-1

Единственный способ - удалить приложение Галерея и установить другое приложение. QuickPic - это приложение-заменитель, которое не создает эскизов и является быстрым и эффективным.

Ответ дается Andión также работает.

Обратите внимание, что вы должны отключить функции в различных приложениях, чтобы предотвратить накопление. В файловом менеджере X-plore отключите «Показать мультимедийные файлы», и он не будет генерировать эскизы. Наконец, добавьте несколько .nomediaфайлов в папку с изображениями, которые обычно не доступны.

user57044
источник
-1

Дайте вашим видео и изображениям имена файлов, начинающиеся с ., например .video. Тогда никакие миниатюры не будут созданы в вашей папке DCIM.

Другое решение - отключить приложение галереи для вашего списка приложений в настройках.

Паван Радж
источник
1
Ваше первое предложение будет также полностью скрывать файлы изображений и видео - что вряд ли отвечает интересам ОП. И второе, которое вы не могли иметь в виду всерьез (по крайней мере, не предлагая альтернативы, которую ОП мог бы использовать для просмотра этих средств массовой информации - в этом случае этот ответ уже имеет его в лучшем виде).
Иззи
-2
  1. Сначала удалите папку .thumbnails из папки DCIM.
  2. Затем в папке DCIM создайте файл с именем .thumbnails

Вы сделали.

Примечания: создайте файл, а не папку. Если у вас нет файлового менеджера, скачайте файловый менеджер ES из Play Store бесплатно.

Шивам
источник