Comments 24
Стоить еще отметить, что помимо того, что периодические агенты запускаются раз в 30 минут, они еще работают не больше 25 секунд и могут потреблять не больше 6 мб памяти. Пруф.
0
Насчёт потребления памяти — зависит от платформы — это минимально возможное.
За напоминание — спасибо — сейчас в текст добавлю.
За напоминание — спасибо — сейчас в текст добавлю.
0
на эмуляторе для тестов может раз в 10 минут запускаться
0
У фоновых агентов есть еще одно ограничение — они работают максимум 2 недели с момента запуска. Как минимум раз в две недели агент необходимо перезапускать. А сделать это можно только из приложения, так как агент сам себя перезапустить не может.
Предположим, пользователь установил приложение, запустил его и добавил тайл на рабочий стол. О, чудо, тайл обновляется, все супер! Счастливый пользователь теперь может получать актуальную информация, не запуская постоянно программу. Но через две недели случиться фейл… Агент перестанет работать, а пользователь об этом не узнает и будет думать, что информация на тайле по-прежнему свежа.
Сам недавно мучился с этой проблемой. Решения пока не придумал. Раз в две недели писать на тайле что-то вроде «нажми меня, чтобы я мог обновляться дальше» на мой взгляд не очень круто.
P.S.
А погодные приложения, про которые сказано в начале статьи, скорее всего обновляются, используя ShellTileSchedule. Это механизм, позволяющий периодически грузить с удаленного сервера картинку для тайла. И, если мы генерируем контент для тайла локально, использовать его не получиться.
Если я где-то не прав, поправьте меня.
Предположим, пользователь установил приложение, запустил его и добавил тайл на рабочий стол. О, чудо, тайл обновляется, все супер! Счастливый пользователь теперь может получать актуальную информация, не запуская постоянно программу. Но через две недели случиться фейл… Агент перестанет работать, а пользователь об этом не узнает и будет думать, что информация на тайле по-прежнему свежа.
Сам недавно мучился с этой проблемой. Решения пока не придумал. Раз в две недели писать на тайле что-то вроде «нажми меня, чтобы я мог обновляться дальше» на мой взгляд не очень круто.
P.S.
А погодные приложения, про которые сказано в начале статьи, скорее всего обновляются, используя ShellTileSchedule. Это механизм, позволяющий периодически грузить с удаленного сервера картинку для тайла. И, если мы генерируем контент для тайла локально, использовать его не получиться.
Если я где-то не прав, поправьте меня.
+1
Да, 2 недели максимальное время — я дописал в UPD.
Погодное приложение имеет BackGroud Agent при отключении которого, как мне показалось, погода на тайле перестала обновляется. Хотя с такой погодой которая сейчас стоит в Москве, я мог и ошибиться.
Но сегодня, когда на вечерней школе мне задали тот же вопрос — про ренью агента в агенте, вспомнив про приложение начал сомневаться, что оно использует агента именно для обновления погодного тайла.
Погодное приложение имеет BackGroud Agent при отключении которого, как мне показалось, погода на тайле перестала обновляется. Хотя с такой погодой которая сейчас стоит в Москве, я мог и ошибиться.
Но сегодня, когда на вечерней школе мне задали тот же вопрос — про ренью агента в агенте, вспомнив про приложение начал сомневаться, что оно использует агента именно для обновления погодного тайла.
0
Думаю, рассчитывают на сцерании, что хотя бы раз в 2 недели пользователь запустит «полезное» приложение. У меня где-то так и выходит — уточнить раскладку температуры вперёд на неделю, например.
0
Что же касается ShellTileSchedule который может работать «бесконечно» — да это решение, но у него тоже есть ограничения — он обновляет только background image, причём берёт URI только на удалённый. Это означает, что нужен север и сервис генерации кратинок.
0
Еще одно замечание, возможно такое наблюдается только у меня, но у меня не работает этот код
помогло это
#if DEBUG_AGENT
ScheduledActionService.LaunchForTest(UpdateTileAgentName, TimeSpan.FromSeconds(10));
#endif
может кто-то сэкономит время.
#if DEBUG
ScheduledActionService.LaunchForTest(UpdateTileAgentName, TimeSpan.FromSeconds(10));
#endif
помогло это
#if DEBUG_AGENT
ScheduledActionService.LaunchForTest(UpdateTileAgentName, TimeSpan.FromSeconds(10));
#endif
может кто-то сэкономит время.
0
Эм, а линк на выбранное приложение погоды?)
0
Мне кажется, что фоновые агенты «слегка» параноидально урезаны в функциональности
0
Отнюдь не параноидально. Телефон должен кушать мало энергии.
0
К сожелению, вп7 не демонстрирует выдающихся над андроидом результатов по времени автономной работы.
-3
Сложно сказать. Мой сутки держит при достаточно активной работе. Андроидов не было.
+1
Такая же ситуация. Постоянно включен WiFi, частенько радио, плюс игры по пути на/с работы. Заряжать приходится реже, чем раз в сутки. Андроида не была, сравнивать не могу.
+1
Мой HD7 выдерживает день только если его использовать как простой телефон (и то — редко). Это позорище. Вы оба пишите, что андроидов не было, так что вам получается, действительно не с чем сравнивать.
0
У меня почему-то тайлы обновляются только когда телефон на зарядке или когда edge включен. Т.е. Тогда, когда есть постоянный доступ в сеть. При этом при обычном использовании к вайфаю коннектится только при разблокировке. У всех так? И если да то как у вас тайлы так хорошо обновляются?
0
На WP7 Wi-Fi работает только при разблокированном экране. Как только блокируете экран, почти сразу соединение по Wi-Fi пропадает. Исключение — телефон на зарядке. В это время Wi-Fi работает постоянно. И, вроде бы, если скачиваете приложение из Marketplace через Wi-Fi, то оно докачается даже после блокировки экрана. Так что для постоянного обновления «живых плиток» нужно подключение через «передачу данных».
+1
Sign up to leave a comment.
Обновления Live Tiles в фоновых агентах