Низкая производительность

Я построил приложение для Android с помощью системы PhoneGap и JqueryMobile, содержащей несколько html и js-страниц.

Первое время загрузки очень велико (через 5-10 секунд по сравнению с родными приложениями), а навигация по страницам слишком медленная.

Навигация с одного экрана на другой занимает много времени.

Есть ли подсказки / howtos / tricks для увеличения скорости? Это действительно непригодно для часто используемого приложения.

Другой проблемой является использование памяти приложения (около 50 МБ для простого приложения)

Все трюки и подсказки приветствуются.

Несколько советов по оптимизации, которые я нашел полезными для медленных устройств:

  • Попробуйте изменить переход по умолчанию на страницу. Многие устройства Android не поддерживают аппаратные ускоренные функции телефона в браузере, а это означает, что переходы CSS3, которые JQueryMobile пытается использовать по умолчанию, очень медленные. Вы можете использовать:

    $.mobile.defaultPageTransition = 'none'; 

    Для отключения всех переходов по умолчанию.

  • Что касается времени загрузки скрипта, вы не можете сделать ничего, кроме, возможно, изучения отдельных времен загрузки для ваших зависимостей и определения альтернатив, но вы можете убедиться, что ваше приложение не выглядит неуклюжим во время загрузки. Вот быстрый хак, который я использую:

     <style type="text/css"> .doc {display: none;} /* don't show body by default */ </style> <body id="main_body" class="doc"> 

    Как только все загружается, я звоню

     $("#main_body").removeClass("doc"); 

    Для показа приложения. Я использую предварительный загрузчик Javascript (LABjs), чтобы обеспечить загрузку всех моих зависимостей по порядку.

Прежде всего, вместо использования тяжелых фреймов, таких как jQuery, попробуйте xuijs !