Не работают кэш карты

Kartofan

суббота, 4 января 2014 г.

Как работает кэширование карт

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

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

Как же включить эту чудесную функцию? Да проще некуда. На панели есть кнопка или в Меню — Настройки — Кэширование.

  • Интернет — все карты качаются чисто из интернета, никаких кэшей
  • Интернет+Кэш — тайлы беруться из интернета, потом проверяется есть ли такой в кэше, если есть, то все хорошо, если же нет, то идет запись в кэш. Это единственный способ (пока) как можно добавить карты в кэш.
  • Кэш+Интернет — Сначала смотрится карта в кэше, если она там есть то грузится оттуда, если нет то из интернета.
  • Кэш — чисто из кэша, никакого трафика.

Но есть одно замечание. Тайлы не будут записываться в кэш если у вас включено дополнение типа адблок (то что блокирует рекламу). Выключите его, рекламы-то все равно нет, или хотя бы разрешите доступ к katofan.info/server.php (что это ниже) и все должно стать хорошо.

Дальше идут технические подробности которые можно и не читать.

Ну во первых я написал сразу два кэширующих сервера. Зачем это нужно? Первый сервер на PHP. Он простой как палка, тупо дергает картинку и отдает ее дальше в JSONP с картинкой закодированной в Base64. Если вам ничего это не понятно, но хочется сервер использовать свой (что только похвально), то тупо закидываете файл server.php из исходников на свой сервер с PHP и прописываете его в настройках программы. Все должно заработать.

Второй сервер написан на NodeJS. Это реализация Javascript на сервере. Я его писал в начале, но т.к. PHP несколько ближе основной массе населения, то решил написать и тот что выше. Но в чем прикол спросите вы? А прикол в том что этот сервер помимо кэширования сохраняет сами картинки карт. Это очень удобно если вы хотите во чтобы то ни стало сохранить какие-то карты. Т.е. он создает для каждого типа карт отдельную папочку и раскладывает там все скаченные тайлы. К тому же его очень просто запустить на локальном компьютере. Ставите NodeJS, с помощью npm ставите все зависимости и запускаете node app.js. Все сервер работает на 127.0.0.1:3000/cache (если нужно более подробно пишите в комментариях)

Теперь если вы решили сменить сервер, то нужно его прописать в программу. Нет ничего проще. Меню — Настройки — Установить кэширующий вервер. Пишите туда ваш адрес http://katofan.info/server.php или http://127.0.0.1:3000/cache и все.

Пока нет возможности импорта-экспорта кэша, но я работаю в этом направлении.

Читайте также:  Не работает звук через dvi

Источник

Как, почему и когда надо чистить кэш на Android

Кэш приложений может быть спорной темой на Android. Многие люди постоянно чистят кэш приложений, веря в то, что это позволит смартфону работать быстрей. Другие говорят, что это, в первую очередь, сводит на нет всю цель кэширования и просто увеличивает время запуска приложений и выполняемых действий. Истина, как обычно, где-то посередине. Некоторые приложения могут не использовать кэширование эффективно, из-за чего используются излишне большие объемы памяти. Иногда кэш может вызывать проблемы после выхода обновления и надо его сбрасывать. А еще некоторые приложения могут начинать работать медленнее, когда их кэш становится очень большим. Сказать однозначно, надо ли его удалять, нельзя. Но сейчас рассмотрим эту тему подробнее, чтобы вы понимали, когда это делать и как?

Надо ли чистить кэш телефона?

Что такое кэш на Андройд

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

Наш Иван Кузнецов не так давно писал о том, что никогда не чистит кэш и считает это не нужным. Многие из вас, возможно, с ним не согласны. Да я и сам переодически провожу эту процедуру. Тем не менее, для полноты картины можете ознакомиться с его мнением.

Очистка кэша и данных на Android

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

Очистка лишней не будет? Не факт.

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

Как очистить память смартфона. Пять простых шагов.

Когда надо чистить кэш

В чем-то я согласен с Иваном и с его мнением, которое я приводил в начале статьи. Нет смысла чистить кэш часто. После того, как вы его очистили, приложение все равно его создаст заново. Только в это время оно будет работать еще медленнее.

Тут важно найти баланс и понять, действительно ли ваш смартфон тормозит из-за кэша или, например, он просто старый и уже не тянет. Если не вникать в это, то можно посоветовать чистить кэш один раз в 3-6 месяцев, но быть готовым, что первые несколько дней скорость работы будет чуть ниже. В итоге, вы как бы освежите приложение, удалив лишний мусор и заново собрав только то, что нужно.

Google Play рассылает пустые обновления приложений. Что делать?

Как очистить кэш и данные на Android

Точную инструкцию для каждого смартфона дать не получится, так как все зависит от производителя и версии ОС, но общие правила будут следующими.

Читайте также:  Стеклоочиститель не правильно работает

Шаг 1: Запустите «Настройки» и перейдите в раздел «Хранилище» (или найдите его поиском). Так вы сможете узнать, сколько памяти вашего смартфона занято и чем.

Шаг 2. В разделе «Хранилище» найдите «Приложения» (или «Другие приложения») и выберите его. В нем будут перечислены все приложения, а также то, сколько места каждое из них занимает. В некоторых версиях ОС можно найти сортировку приложений по алфавиту или размеру.

Шаг 3: Зайдите внутрь приложения и удалите кэш или данные. Только надо понимать, что это действие необратимо.

Три простых шага для очистки кэша.

В отношении специальных приложений для очистки я очень категоричен и не рекомендую ими пользоваться. Несмотря на их обещания ускорить систему чуть ли не в разы, в лучшем случае они просто сделают то же, что я только что описал. Так почему бы не сделать это самому без установки сомнительных приложений, которые еще и будут собирать ваши данные? Единственное приложение-оптимизатор, которому я доверяю, это Google Файлы, но работает оно именно с хранилищем и чистит в первую очередь мусор. Хотя, на него тоже нельзя слепо полагаться, но оно сделано Google, а к ней доверия куда больше, чем к каким-то левым разработчикам.

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

Надо ли чистить кэш Android-приложений

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

Еще больше полезных советов и рассуждения в нашем Telegram-канале.

Еще раз: очистка кэша не испортит ваш смартфон, но приложение потеряет часть сохраненных данных и оптимизированных под вас настроек. Некоторое время придется накапливать их заново, зато так можно убрать действительно лишнее. Раньше можно было одной кнопкой очистить кэш всех приложений, теперь только по одному, но, наверное, это к лучшему.

Чего точно не стоит делать с кэшем, так это чистить его каждый день или каждую неделю. Так вы точно не сделаете лучше никому.

Источник

Заставляем iPhone хранить кэш карт вечно

Приложение «Карты» на iPhone работает весьма странно, не говоря уже о всяческих проблемах с GPS. Оно имеет отвратительное свойство каждый раз подгружать карты из Интернета. Получается, что нормально им пользоваться можно только при наличии безлимитного трафика GPRS (что либо редкость, либо роскошь), либо Wi-Fi поблизости (дома, на работе, в кафе и пр.). Но ведь «Карты» чаще всего нужны именно в дороге (особенно в связке с GPS) — а это обернётся для вас огромными счетами от мобильного оператора за трафик. И это в России, а если вы рискнёте пользоваться картами за рубежом, то к цифрам в этих счетах добавится ещё пара нулей справа. Что же делать? На самом деле, есть целых три выхода.

Выход первый: не пользоваться «Картами». Способ радикальный, но действенный, благо что существует большое количество альтернатив, не в пример лучше работающих с навигацией и имеющих оффлайн-кэш карт городов и дорог — iGO, Sygic, NAVIGON и пр. Главный их минус — ценник.

Выход второй: создать для «Карт» кэш на компьютере. Выход очень хороший, но сейчас мы его советовать всем пользователям уже не можем. С момента выхода прошивки 3.1 многое поменялось в системе обработки кэшей карт iPhone. Раньше дело обстояло очень просто — на компьютере выкачиваете все изображения карт Google или Яндекса для выбранного вами участка местности, затем все они запаковываются в кэш, а вам остаётся залить его в аппарат.

Читайте также:  Портативная колонка не работает один динамик

Сейчас есть целых две проблемы:

  • iPhone по совершенно неожиданной причине может отказаться принять ваш кэш. Вероятность успеха — порядка 35-40%. Иными словами, часы (а то и дни), убитые вами на выкачивание карт из Интернета, могут оказаться потраченными впустую.
  • Затирание залитого кэша при наличии доступа к Интернету. Даже если вам повезло, и вы справились с первой проблемой, вас ждёт вторая. Кэш будет работать до первого запуска «Карт» при включённом GPRS или Wi-Fi. После этого залитый вами многомегабайтный файл с картами затрётся килобайтным кэшем. Чтобы избежать этого, можно повозиться в правами доступа на файл кэша карт. Даже если запретить его перезапись, то iPhone OS его просто сотрёт и создаст новый (раньше вместо этого кэш всё равно грузился). Если полностью запретить перезапись не только кэша, но и содержимого всей папки, в которой он лежит, начнётся полная мистика — кэш будет лежать на месте, но карты всё равно станут грузиться не из него, а из Сети.

К чему мы всё это говорим? К тому, что данное решение, которое несколько месяцев назад казалось универсальным, теперь вряд ли можно назвать рабочим. Поэтому остаётся третий выход.

Третий выход: заставить iPhone вечно хранить создаваемый приложением «Карты» кэш. Это не лучшее решение, зато оно без проблем работает на прошивках 3.1, 3.1.2 и 3.1.3. Отличие от второго варианта в том, что на компьютере ничего не создаётся и в iPhone не закачивается. Вы просто запрещаете iPhone обновлять уже однажды закачанный кэш. Например, вы можете подключиться к Wi-Fi, потратить часок-другой на вдумчивое изучение карты города, и после этого спокойно ездить по городу с выключенным GPRS или вообще в авиарежиме.

Для того, чтобы кэш карт iPhone сохранялся вечно, вам потребуется бесплатная утилита Maps Enhancer из Cydia. Она выполнена в виде дополнительного пункта в настройках iPhone. Там собрано изрядное количество настроек:

Пробежимся по ним:

Keep maps cache — самая главная настройка. Именно она включает сохранение кэша карт и защиту его от удаления.

Над ней вы сможете следить за размером кэша. Имейте в виду, что приличных размеров город в приличном масштабе может занимать больше гигабайта. Если это не входит в ваши планы, можете очистить сохранённый кэш кнопкой «Delete existing cache».

Секция «Maximum zoom level» задаёт сохраняемый масштаб карт. Чем выше индекс масштаба (он варьируется от 2 до 19), тем детальнее изображения на карте. Например, при индексе 17 вы увидите все номера домов. Для комфортной работы вполне хватает 16-17 индекса. Знайте, что каждый следующий уровень индекса увеличивает размер кэша в разы. Иными словами, 18й уровень мало что даст вам, кроме удвоения (а то и утроения) размера кэша.

Масштаб можно настроить отдельно для режима карты (Standard), спутника (Satellite) и гибридного представления (Hybrid).

Preferred language позволяет вам форсировать выбор определённого языка для подписей на карте. По умолчанию это текущий язык iPhone OS, но можно выбрать любой другой.

Теперь о том, как проверить Maps Enhancer в действии:

  1. Подключитесь к Wi-Fi, найдите своё местоположение и пошарьте по окрестностям. Так вы сохраните первые снимки в будущий кэш.
  2. Закройте «Карты», включите авиарежим, отключите Wi-Fi.
  3. Запустите «Карты» снова.
  4. Если вы видите карту — считайте, что всё получилось. Но не лишним будет попробовать выйти за пределы ранее осмотренных на карте окрестностей. Вы должны увидеть следующую картину:

Это и есть граница между сохранённым и несохранённым в кэше пространством.

Надеемся, что Map Enhancer сэкономит вам немало GPRS-трафика. Скачать программу можно из стандартного репозитория Cydia — BigBoss.

Источник

Оцените статью