Reputation: 555
I have created an iOS app and it's first phase is almost complete. Basic flow of app is that a user can add his offer. Other users can avail this offer by booking it. The number of offers keeps on increasing/updating therefore all the data in app is loaded from server. Now in the debug navigator, all values are more or less within safe area (green area) as shown:
But the energy impact is:
This is the at the time when app is requesting server to load items in list. Now my questions are:
Moreover, even if the user is not interacting with the app the energy impact is (not exactly zero):
Whereas according to apple docs:
When the user isn’t interacting with your app, there should be no energy impact.
Any help would be appreciated, as I am a newbie to iOS.
Upvotes: 6
Views: 2981
Reputation: 1511
Check to see how often you are pinging on the processor. Most energy savings come from the processor dropping into the better power conservation states (called C-states). If you are checking too often, the processor stays awake and you consume a lot more power.
Good rule of thumb is to do the least pinging/checking as possible without significantly impacting performance.
Let's look at your average component utilization. 'Overhead' usually refers to an excessive amount of context switching. One possible solution is to buffer data more to decrease any network calls. Another possibility is excess memory usage causing a lot of page swapping. This usually only happens if you are topping out your real memory/RAM usage.
'CPU utilization' looks high, particularly since you are not doing a lot of computation. Look at my comment on minimizing any pinging/checking.
Upvotes: 2