Официальный клиент Twitter для Mac имеет одну характерную особенность (баг?), которая вызывает увеличение кэша приложения до невероятных размеров. То есть, папка с кэшем изображений бесконечно будет расти без каких-либо ограничений на размер и, в итоге, может “разбухнуть” до нескольких гигабайт, а вы об этом даже не будете знать. Еще один неприятный момент состоит в том, что все эти файлы также хранятся и в виртуальной памяти, вызывая ненужное использование оперативной памяти и файла подкачки.

Я покажу вам как вручную очистить кэш изображений и делая это время от времени, вы сможете избежать заполнения диска, поскольку автоматически Twitter этого не делает. Также, если вам надоест удалять кэш вручную, вы можете запретить приложению сохранять его. Об этом тоже пойдет речь в этой заметке.


Упомянутые проблемы существуют только в официальном приложении Twitter для Mac, поэтому если вы используете другие клиенты, то они вас не касаются. Наверняка это ошибка приложения Twitter, но будет ли она исправлена и когда, пока неизвестно.

Расположение папки кэша изображений

Twitter кэширует изображения профилей пользователей и картинки из твитов, складывая их вот в эту папочку (обратите внимание, что папка Library здесь пользовательская, а не системная):

~/Library/Containers/com.twitter.twitter-mac/Data/Library/Caches/com.atebits.tweetie.profile-images/

twitter-image-cache-2gb-610x367

Самый простой способ добраться до нее, это использовать сочетание клавиш ⇧⌘G для вызова диалога Переход к папке в Finder и скопировать туда указанный выше путь. Удаление всех файлов из этой папки (но не самой папки) решит проблему. Только не забудьте перед этим завершить приложение Twitter, чтобы выгрузить кэш из памяти.

twitter-image-cache-deleting

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

Предотвращение сохранения кэша изображений в Twitter

Надоело постоянно удалять кэшированные файлы вручную? Мне тоже. Существует способ, который может помочь нам в этом. Всё, что нужно сделать — это заблокировать папку с кэшем, предотвратив таким образом сохранение файлов в неё. Теоритически это может увеличить нагрузку на ваш канал интернета, поскольку каждый файл, при повторному обращении к нему, должен будет загружен с серверов снова. В наше время быстрого и безлимитного интернета это вряд ли кого-нибудь обеспокоит, но если вы используете в качестве подключения лимитированнй мобильный интернет, раздавая его через режим модема в iPhone или что-нибудь в этом духе, то вам возможно стоит подумать, перед тем как отключать кэш. Если же вы уверены, что хотите заблокировать эту папку и остановить кэширование изображений, то вот что нам нужно сделать:

Снимок экрана 2014-08-27 в 8.42.20

  • Открываем Finder, нажимаем сочетание клавиш ⇧⌘G и переходим по следующему пути:
~/Library/Containers/com.twitter.twitter-mac/Data/Library/Caches/
  • Выделяем папку com.atebits.tweetie.profile-images и нажимаем шорткат ⌘I, чтобы вызвать панель информации об этой папке.

Снимок экрана 2014-08-27 в 12.38.09

  • Теперь нужно поставить галочку напротив пункта Защита, в разделе Общие.
  • После этого нужно завершить Twitter и подождать 1–2 минуты, чтобы кэш был выгружен из памяти.

Можете проверить, полистав ленту и открывая твиты — даже при очень насыщенном потоке, папка в которой раньше хранился кэш, будет пустой.

Более искушенные пользователи могли бы пойти дальше и применить решение вроде создания символьной ссылки папки /com.atebits.tweetie.profile-images/ прямиком в Корзину (~/.Trash) или даже в /dev/null/, но простой блокировки папки в Finder будет вполне достаточно — приложение уже никак не сможет кэшировать в нее картинки.

Насколько я могу судить, в папке com.atebits.tweetie.profile-images не хранится ничего важного и удаление ее содержимого никак не отразится на работе Twitter или чем-нибудь другом. Вполне возможно, что сохранение кэша таких огромных размеров позволит приложению быстрее открывать старые твиты, прокручивая ленту — но для меня это не оправдание занимать такое количество места на диске.

Если вы используете MacBook с накопителем 128 ГБ (не говоря уже о старых MacBook Air 64 ГБ), то даже несколько гигабайт для вас будут существеными. Чтобы понимать о каких цифрах идет речь, скажу что я чистил кэш изображений примерно раз в неделю (или около того) и за это время всегда набиралось 1–4 гигабайта, в зависимости от количества твитов и того, насколько часто люди прикрепляли к ним фото. В конце концов, я решил заблокировать папку с кэшем и до сих пор у меня не было никаких проблем с приложением.

(via)