1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/waynelau1989-OptAndroidDocs

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Фон

После того как Google был заблокирован, доступ к документации API Android стал проблемой. Хотя Android SDK позволяет загружать и просматривать документацию разработчиков в автономном режиме, скорость доступа всё ещё остаётся низкой из-за ссылок на онлайн-ресурсы в документации (js, шрифты и т. д.).

Существует примерно два способа решения этой проблемы:

  1. Использование скриптов для удаления ссылок на онлайн-ресурсы из HTML-файлов. В интернете можно найти готовые обработанные файлы для скачивания (вы также можете скачать оптимизированную версию автономной документации, которую я подготовил).
  2. Просмотр документации в офлайн-режиме. Некоторые пользователи создали плагин для Chrome.

Однако оба метода не полностью удовлетворяют меня:

  1. После обновления документации Android необходимо повторно обрабатывать её. Скрипты работают медленно, и ожидание готовых обработанных файлов от других пользователей может быть недостаточно своевременным.
  2. Я использую Firefox в качестве основного браузера.

Поэтому я решил создать небольшую программу на C++ для оптимизации скорости доступа к автономной документации Android. Этот проект был разработан с использованием Qt Creator (очень удобно и приятно работать под Linux). Проект успешно скомпилирован и протестирован под Linux, теоретически он также должен работать под Windows.

После компиляции проекта будет создан файл OptAndroidDocs. Для запуска программы необходимо выполнить OptAndroidDocs в каталоге документации Android.

Vale@PC:~/.my_files/usr/android_develop/sdk/docs$ time OptAndroidDocs

real    0m14.163s
user    0m11.227s
sys     0m1.180s

Эти данные показывают, что обработка нескольких сотен мегабайт автономной документации для Android 5.0 (около 9000 HTML-файлов) занимает всего 14 секунд.

В конце концов, необходимо вручную отредактировать два файла:

  1. В файле assets/js/docs.js:
  var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
  po.src = 'https://apis.google.com/js/plusone.js';
  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);

Заменить на:

  var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
  //po.src = 'https://apis.google.com/js/plusone.js';
  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);

То есть закомментировать среднюю строку.

  1. Также в файле assets/js/docs.js:
         // Search for matching JD docs
         if (text.length >= 3) {
           // Regex to match only the beginning of a word
           var textRegex = new RegExp("\\b" + text.toLowerCase(), "g");

Изменить на:

         // Search for matching JD docs
         if (text.length >= 1000) {
           // Regex to match only the beginning of a word
           var textRegex = new RegExp("\\b" + text.toLowerCase(), "g);

Этот второй пункт является важным. Если его не изменить, функция поиска в документации не сможет автоматически дополнять текст (только первые две буквы).

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Оптимизация скорости доступа к офлайн-документам на Android. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/waynelau1989-OptAndroidDocs.git
git@api.gitlife.ru:oschina-mirror/waynelau1989-OptAndroidDocs.git
oschina-mirror
waynelau1989-OptAndroidDocs
waynelau1989-OptAndroidDocs
master