Перейти к содержанию
Fire Monkey от А до Я
  • 0

Оптимизация


FeLDMARShaL

Вопрос

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

 

Во-первых, хочется максимально разогнать работу интерфейса, время отклика от нажатия на контролы уменьшить бы, или к примеру, сделать более плавное прокручивание на сролпанели. Единственное что нашел своими силами в этом направлении, это свойство у формы Quality. Это свойство я выставил в HighPerfomance. (кстати, а я правильно понял, что это то что мне надо?). После выставления этого свойства, я визуально заметил, что стало более быстро все работать. Но больше ничего не смог придумать. К примеру, на iOS устройстве, панель (скроллируемая) на которой находятся кнопки (много кнопок) заметно тормозит при сроле – т.е. сразу палится что это не нативное приложение. А также замечаю, что самое первое нажатие на кнопку, тоже подвисает, по отношению ко второму нажатию.

 

Во-вторых, я заметил, что приложение, которое свернули в фоновом режиме очень сильно кушает аккумулятор. К примеру, на моем андройде, за 12 часов аккумулятор со 100% сел до 60%. На iPhone со 100% до 85%. Это при учете что wi-fi был отключен, и без симкарты телефоны были. Т.е. без приложения максимум просадка за 12 часов это 1-2%. К счастью, пока радует, что стандартная андройдовская фитча не показывает, что это именно наше приложение кушает аккумулятор – но думаю, что опытные пользователи раскурят в чем причина того что девайс, стал сильно проседать по заряду. Само собой, когда приложение в фоне оно не работает, никаких потоков там не запускается и ничего не делается. Я думаю может какой-то датчик включился или еще что-нибудь. В общем нужен совет как можно уменьшить потребление заряда аккумулятора.

 

В общем нужны любые советы (можно из реальной жизни) или какие-нибудь мануалы как разогнать приложение и сократить ресурсопотребляемость его.

 

П.С, совсем скоро будем заливать наше приложение в AppStore и GooglePlay, и хочется, чтобы оно вело себя максимально нативно (похоже на приложения, написанные специально под эти плтформы)

 

Буду благодарен любым ссылкам, мастер-классам, примерам кода, мануалам, документации, может быть какие-нибудь конференции по этому поводу или веб семинарам…

:) 

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Извините, все комментировать не буду, я поигрался с мобильными устройствами и пока отложил, пишу для десктопа. Но, по моему, в мобилках, хоть андрюша хоть iOs, все что "сворачивается" то гаснет тутже)). Так что в фоне, ваши приложение ничего не кушают - это де факто. Если бы все что запущено кушало, то вы бы от розетки вообще не отходили. Исключения составляют некоторые фичи, будь то sip клиент, некоторые музыкальные и тд и тп.

Ссылка на комментарий
  • 0

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

Ссылка на комментарий
  • 0

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

От себя добавлю, что приложения в фоне продолжают работать, хотя и с меньшим приоритетом.

Специально исследовал этот вопрос - запускал приложение в активном режиме и в свернутом, с блокировкой экрана. Результат - определенный набор действий выполняется и в том, и в другом случае, но во втором ощутимо медленнее.

 

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

Ссылка на комментарий
  • 0

 

 

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

Вы имеете ввиду просто програмно прекращать выполнять действия или там есть возможность поставить "паузу" в свойствах самого приложение.

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

 

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

Ссылка на комментарий
  • 0

Если приложение ничего не делает, то и на паузу, естественно, ставить нечего. 
Универсальный совет для оптимизации использования ресурсов - выгружать из памяти ненужные объекты, переменные, особенно много в этом плане занимают картинки. 

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...