0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 129
|
||||||
1 | ||||||
Виджет много ресурсов берет12.03.2014, 15:21. Показов 1284. Ответов 9
Метки нет (Все метки)
Написал виджет на планшет, все работает, но когда ставлю виджет планшет заметно начинает тормазить, при повороте экрана особенно заметно, вообще тормозит, сам виджет обновляется 1 раз в секунду и при этом отсчитывает время ежесекундно как спедометр... Не могу понять в чем проблема, откуда он столько жрет, или если не жрет то в чем может быть проблема..
Вот код:
0
|
12.03.2014, 15:21 | |
Ответы с готовыми решениями:
9
Ремонт ПММ BOSCH SKT5002EU берет много соли, Посудомойка берет много соли MessageBox слишком много на себя берет SFML - ест много ресурсов Программа потребляет много ресурсов |
325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 586
|
|
12.03.2014, 21:30 | 2 |
Ну вы же сами написали, что виджет у вас пашет и пашет каждую секунду...вот и результат вам...
1
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
12.03.2014, 23:39 | 3 |
Присоединяюсь к вопросу! Возникла таже проблема, но отложил в сторонку (пока не критично)
Нормально что жрет до 15-20% проца когда ВИДЕН(на весь экран, больше 100 обьектов, рисую картинку с управляемой прозрачностью), но почему жрет их даже если на другом экране? И самое странное даже после того как удалишь с экрана? Или когда открыл игру на полный экран? Система это не отлавливает? Или отлавливает, шлет мне сообщение, а я его не замечаю?
0
|
325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 586
|
|
12.03.2014, 23:49 | 4 |
В системе виджет обновляется не чаще 1 раз в 30 минут. Вы же заставляете его обновляться заметно чаще и не важно виден он или нет. А при удалении, надо его полностью удалять, а не только с экрана.
1
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
13.03.2014, 01:27 | 5 |
А как узнать виден он или нет?
Добавлено через 2 минуты Удаление с экрана еще как-то могу отловить, но если перекрыть лейаут другим окном или сдвинуть его в бок на другой экран... Возможно ли отловить? Думаю подобное должно возникать в живых обоях! Неужели они работают даже под игрушками? Добавлено через 1 минуту А если вызван блокировщик экрана? Неужели тоже отдельный обработчик писать? Неужели нет ЕДИНОЙ команды - "тебя не видно" или "у тебя видно только такой участок"?
0
|
325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 586
|
|
13.03.2014, 13:53 | 6 |
Я не могу вам подсказать, есть только свои догадки. Лаунчеры это тоже программы. Дают ли они события видимости определенного рабочего стола? Думаю да. Как узнать? Не знаю. Может в новых дроидах и появился какой интерфейс. Ведь сделали же получение события изменения размера виджета с версии 4.0, хотя в лаунчерах такая возможность была задолго до 4-ки.
1
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
13.03.2014, 15:01 | 7 |
вывод... пока прийдется ТОЛЬКО оптимизация отрисовки и отлов блокировки экрана... еще одна недоработка гугла!
1
|
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 129
|
|
14.03.2014, 21:15 [ТС] | 8 |
dubok79,
Да, но я не могу поверить что простые математические вычисления(я бы даже сказал простейшие и минимальные) ежесекундно могут быть такие ресурсо ёмкие с процессорами которые используют под Андройд.. веть вся суть моей программы это взять теперешную дату и время, записать в переменную.. и потом каждую секунду просто отнимать -1... я возможно не совсем понимаю логики UppdateTimerTask ... и у меня на ряду с орифметическим действием -1 потстоянно берется дата время, тогда более ли мение понятно чего так глючит, но что бы из за того что просто обновление едет каждую секунду, трудно поверить, есть ведь куча программ типа спедометра и всякое такое где суть такая же и даже посложнее алгоритмы но они не капельки не притормаживают и не тянут много ресурсов, в то время как мой виджет со воременем просто даже останавливается и ничего больше не происходит, а на сколько я понмиаю виджет и программа не сильно то так уже по архитектуре разные... но возможно я сильно ошибаюсь, ибо углубленно андройд программирование не изучаю..
0
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
14.03.2014, 22:05 | 9 |
подозреваю что тормозит именно процесс отрисовки/перерисовки виджета, а не только математика.
Мой виджет рисует в памяти картинку типа https://lh4.ggpht.com/-_42tO19... 5Mp0U=h900 (вторая в https://play.google.com/store/... ious_clock ) на весь экран(учиться же надо на чем-то! ). Потом ее отображает. Каждую линию/квадратик нужно отрисовать. Оптимизации нет. Возможно и быстро, но потом он рисует на виджет всю эту картинку снова. Возможно можно задать только ту часть которая изменилась. Находил часы с секундной стрелкой, которые не сажают "заметно" батарейку (хотя открыты в 3х разных "окнах" экрана в разных скинах), как мой виджет за ночь (70% батареи) Добавлено через 4 минуты попробуйте эту математику выводить не на виджет а в обычную программу без прозрачнстей и сделайте замеры проца. попробуйте эту математику расчитывать и не выводить... Попробуйте виджет не перерисовывать вообще - пусть просто висит. Попробуйте на виджет выводить ОДНУ надпись - во сколько раз упадет проц? Если не жалко, отпишите замеры сюда - мне тоже подобное предстоит, но не сейчас - другим занят...
1
|
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 129
|
|
15.03.2014, 11:13 [ТС] | 10 |
Возможно вы и правы, так как мой виджет так же на весь экран планшета, но в тоже время если вспомнить о существовании живых обой, которые так же на весь экран и при всем на фоне их так же работают виджеты и приложения и там намного сложенее код и отрисовка картин, и так де они не сильно забирают ресурсы, и чесно говоря я как человек углубленно работающий с архитектурой механизмом работы процесоров очень сомневаюсь в том что глуки всего лишь из за размеров, но все возможно Да, я проведу ряд тестов, и потом отпишусь сдесь по результатам ... Обезательно...
0
|
15.03.2014, 11:13 | |
Помогаю со студенческими работами здесь
10
Программа потребляет слишком много ресурсов Как продвигать много однотипных ресурсов? WaitMessage PeekMessage поедают много ресурсов. Diagnostics Tracking Service потребляет много ресурсов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |