A Home Screen weather widget and the app that installed it can show two different readings at the same moment, both working as designed. They do not share an update schedule: on iPhone the widget is a separate extension the system reloads on a rationed allowance, and on Android the built-in periodic ceiling is once every 30 minutes before battery rules trim it further. Separately, two weather apps can disagree because they read different forecast models.
So the first move is not a setting. It is a comparison that says which of those two things this is.
Take three readings before changing anything
Note what the widget says. Open the app itself and let it finish loading. Then open the National Weather Service point forecast for the same spot at forecast.weather.gov, by dropping a pin on the map or searching the town name.
The NWS page is useful here for a reason no commercial app matches: it prints its own timestamps. A point forecast pulled for lower Manhattan on 22 August 2026 carried Last Update: 2:45 pm EDT Aug 22, 2026 and Forecast Valid: 5pm EDT Aug 22, 2026-6pm EDT Aug 29, 2026, with the issuing office named on the page.
- The widget disagrees with its own app, and the app roughly tracks the NWS page. This is a refresh problem. The widget is rendering an entry that was built earlier. Everything in the two device sections below applies.
- The widget and the app agree with each other but not with the NWS page. Nothing is broken. The app is reading a different forecast source, and no setting on the phone changes which model an app subscribes to.
- The reading is for the wrong place. A grid cell several miles away, or a city that was pinned months ago and never removed. That is a location problem, not a timing problem, and it is fixed in permissions rather than in battery settings.
A widget is not a small window onto the app
Apple states the constraint plainly in the WidgetKit documentation: “WidgetKit renders the views on your behalf in a separate process. As a result, your widget extension is not continually active, even if the widget is onscreen.” What the widget draws is a pre-built timeline — a set of entries, each with a date and the data to show at that date. When the entries run out, the system asks the app for a new timeline. It does not do that on demand, and the app cannot make it happen on a clock.
The rationing is documented. Apple writes that WidgetKit “uses a budget to distribute widget reloads over the course of the day,” that the budget applies to a 24-hour period which is tuned to the user’s daily usage pattern and so “doesn’t necessarily reset at exactly midnight,” and that “for a widget the user frequently views, a daily budget typically includes from 40 to 70 refreshes. This rate roughly translates to widget reloads every 15 to 60 minutes, but it’s common for these intervals to vary due to the many factors involved.”
Forty to seventy is what Apple calls typical, not a floor and not a promise. The factors feeding the allocation are the frequency and times the widget is visible, its last reload time, and whether the containing app is active. A widget parked on a Home Screen page nobody swipes to is explicitly handled: “If a widget is on a Home Screen page that the user rarely visits, WidgetKit may reduce the frequency of reloads for that widget.” Later, when that page is viewed, the system may reload it on becoming visible — which is why a stale widget so often corrects itself a beat after being looked at.
Three more documented details explain behaviour that otherwise looks random:
- Each widget instance has its own budget. Two copies of the same weather widget, one for home and one for a work city, are budgeted separately.
- Opening the app is not charged against the budget. Apple lists reloads as uncounted when “the widget’s containing app is in the foreground.” This is the mechanism behind the folk remedy of opening the app to fix the widget.
- There is a floor on entry spacing. Apple instructs developers that timeline entries should be “at least about 5 minutes apart,” and notes the system “may coalesce reloads across multiple widgets,” so exact times drift.
There is one weather-relevant exception in Apple’s favour: for widgets that use Location Services, WidgetKit reloads them after a significant location change. A widget that updates promptly on arriving in a new town but sits still all afternoon at home is showing that rule, not a defect.
The iPhone settings that gate a weather widget
Run these in order. The first two produce hours-old readings; the last two are what people try first and fix least.
- Turn off Low Power Mode. Apple’s list of what Low Power Mode changes includes, verbatim, “Background app refresh: turned off.” The developer documentation says the same from the other side: “Background App Refresh is disabled automatically when a device is operating in low-power mode. When this happens, the time available for performing background tasks is reduced to save power.” The control is at Settings › Battery › Power Mode on iPhone 15 and later, and under Settings › Battery on iPhone 14 and earlier.
- Confirm the widget itself is approved for location, not just the app. These are two separate approvals. Apple: “When the user adds a widget that uses location, the system asks whether they want to extend the app’s location authorization to the widget,” and “users can change their approval choice at any time in Settings › Privacy › Location Services.” On current builds that pane is reached through Settings › Privacy & Security › Location Services, then the app’s entry.
- Check that the widget has been looked at recently. Location delivery to a widget is tied to visibility. Apple: “When the widget hasn’t been visible for a period of time, the system no longer considers it in use and stops delivering location updates.” A weather widget three pages deep is being starved of both reloads and position.
- Remove the widget and add it back. The documentation says why this works: budgets are per instance, so a re-added widget starts as a new one, and Apple notes that “immediately after a user adds a widget to their Home Screen and approves extending the app’s location authorization, the user’s location is available to the widget.” It is a reset, not a repair.
- Leave Background App Refresh enabled for the weather app. Apple defines it as “an app’s ability to open in the background to perform refresh tasks.” An app that gets that time can tell WidgetKit to request a fresh timeline. The switch is per app; typing Background App Refresh into the search field at the top of Settings lands on it directly, which avoids chasing a menu path that moves between iOS versions.
One ceiling sits above all five steps: an app asking iOS for background time can request only an earliest start — Apple’s own sample comments it as “Fetch no earlier than 15 minutes from now.” The system picks the actual moment. No app holds a guaranteed slot.
Android: a 30-minute ceiling, then battery rules below it
Android publishes its number outright. The developer guidance for widgets says to use updatePeriodMillis “to update the widget up to once every 30 minutes,” and recommends WorkManager “to schedule more frequent updates, such as every 15 minutes” for anything tighter. So even a perfectly healthy Android weather widget is not a live readout, and a value up to half an hour old is the designed state rather than a fault.
Below that ceiling sit the power rules, where multi-hour staleness comes from. In Doze, the system suspends network access, ignores wake locks, defers standard alarms and sync adapters, and does not let JobScheduler or WorkManager tasks run; pending work is released in periodic maintenance windows that the system schedules less frequently the longer the device stays idle. App Standby goes further for apps that have not been touched: when the device is idle for long periods, the system allows idle apps network access about once a day. A phone left on a nightstand can show last evening’s conditions.
Three settings to check, using Google’s own wording:
- Background battery usage. Google’s path is Settings › Apps › See all apps › [the weather app] › App battery usage › Allow background usage, where Optimized is the recommended state. Option labels below that vary by manufacturer and Android version, so read what the phone offers rather than expecting a fixed set.
- Location permission for the app. Settings › Apps › [the weather app] › Permissions. Google’s documented choices are “All the time” (location only), “Allow only while using the app,” “Ask every time,” and “Don’t allow.” Google notes that on Pixel phones some of these steps work only on Android 11 and up. A widget that must update while the app is closed is a poor fit for “Ask every time.”
- Precise versus approximate location. This one decides the grid cell. Android documents approximate location as accurate to within about 3 square kilometres, roughly 1.2 square miles, against precise location’s about 50 metres, roughly 160 feet, and sometimes a few metres. The permission dialog labels them “Precise” and “Approximate.” Critically: “If the user grants the approximate location permission, your app only has access to approximate location, regardless of which location permissions your app declares.” Google states that per-app precise location can be managed separately on Android 12 and higher. Three square kilometres is enough to land on the far side of a ridge or a lake shore.
The master switches sit at Settings › Location › Use location on Android 12 and higher, with the “Improve Location Accuracy” toggle under Settings › Location › Location Services › Location Accuracy.
Two apps, two forecasts, neither one broken
The National Weather Service describes its job as providing “weather, water and climate data, forecasts, warnings, and impact-based decision support services for the protection of life and property,” from offices across the United States and its territories. That is the official US forecast and warning stream, and the reference point used earlier here.
Commercial apps are not obliged to show it. Apple publishes what its own weather service is built from, and the list is a blend rather than a single feed. For weather models Apple credits the National Weather Service and NOAA, Environment and Climate Change Canada, Deutscher Wetterdienst, the Met Office and ECMWF, the Japan Meteorological Agency, and Météo-France. Station data is credited to NWS/NOAA and the Japan Meteorological Agency, radar to NWS/NOAA and the Met Office, and severe weather alerts to the National Weather Service and its counterparts in Canada, Mexico and Europe.
That publication is the exception. Most consumer weather apps publish no equivalent attribution page, so a claim about which model any one of them runs cannot be made honestly from public documents. What can be said is structural: a forecast is model output plus post-processing choices, and two vendors making different choices will differ by a degree or two on temperature and by more on precipitation timing. Cross-reading four apps and treating the spread as a bug produces a fix list no setting can satisfy.
Severe weather alerts are the narrower case: in the United States they originate with the National Weather Service, which Apple credits directly for that category. When the question is a warning rather than a temperature, read the originating source.
What the documentation does not say
Three gaps are worth naming, because filling them with a confident number is how bad advice spreads.
- There is no guaranteed iPhone widget refresh interval. The 40-to-70 figure is Apple’s own description of a typical daily budget for a frequently viewed widget, immediately qualified by the note that intervals commonly vary. Apple also warns that the system “takes a few days to learn the user’s behavior” and that a widget may get more reloads than normal during that period. A newly added widget behaving well for two days and then settling down is that learning period ending, not a regression.
- There is no user-facing force-refresh for a widget timeline. The documented triggers are the app requesting a reload through WidgetCenter, the timeline reaching its refresh point, a significant location change for location widgets, and the widget being added or becoming visible. Removing and re-adding the widget is the only one of those a person can operate directly.
- Android battery managers added by manufacturers are not covered by Google’s documentation. Doze and App Standby are Android platform behaviour and are documented. Additional vendor layers on top of them are not, and their menu names differ enough that quoting a path here would be inventing one.
When This Doesn’t Apply
This frame assumes the complaint is a mismatch between two readings taken at the same time. Several nearby problems look similar and are not addressed by it.
- The forecast was simply wrong about the weather. If the widget, the app and the NWS page all agreed yesterday and the snow arrived four hours late, that is forecast error. No permission, battery setting or reinstall touches it.
- Emergency alerts are not arriving. Wireless Emergency Alerts travel a separate delivery path with their own per-device switches. A silent phone during a warning is a different investigation.
- The device is outside the United States. Substitute the relevant national meteorological agency as the reference reading; the widget-versus-app logic holds, the weather.gov step does not.
- The display is a Lock Screen widget, a StandBy view, or a watch complication. Apple notes that in StandBy the system refreshes at a system-defined rate that does not count against the widget’s budget, and watch complications follow their own rules. The numbers quoted here describe Home Screen widgets.
- A third-party launcher is hosting the Android widget. The 30-minute ceiling is a platform figure, but a replacement launcher sits between the platform and the widget and may impose its own behaviour.
- The account has lapsed. Some weather apps gate hourly or extended data behind a subscription and fall back to a coarser free tier. A widget that lost detail rather than freshness is an account question first.
The sequence, condensed
- Read the widget, the app and the NWS point forecast within two minutes of each other, noting the NWS Last Update line.
- If the app is current and the widget is not, treat it as a scheduling problem and continue.
- Turn Low Power Mode off on iPhone; set background battery usage to Optimized or looser on Android.
- Grant precise location, and on iPhone confirm the widget’s own location approval alongside the app’s.
- Move the widget to a page that gets looked at daily.
- Remove the widget and add it back as a reset, then watch it for a full day rather than a full minute.
- If the widget then tracks its app but both differ from weather.gov, stop — that is a source difference, and the only fix is choosing which source to trust.
Comments
Post a Comment