Only the baker knows what went wrong with the cake.
Most users first notice performance issues when interacting with the user interface. An app might be termed sluggish if it takes a long time to synchronize data and refresh, or when the user interaction is jittery.
Factors such as power consumption, network usage, local storage, and the like are mostly invisible to the user. Although these factors do contribute to performance issues, it is the user interface that is the gateway to the app, and its sluggishness directly impacts user feedback.
There are external factors that you cannot control. Examples of external factors include:
Poor network conditions increases the time taken to synchronize.
Better hardware makes for better performance—newer iPhones running newer versions of the OS will see faster execution as compared to older iPhones. The app may run on CPUs varying from 32-bit 1.3 GHz to 64-bit 1.8 GHz, or RAM ranging from 1 GB to 2 GB.
The app may run on devices with varying storage ranging from 16 GB to 128 GB, which limits the offline cache that your app can store.
The app, however, can make decisions based on the conditions under which it is executed to keep the user interaction fluid.
In this chapter, we discuss ways to minimize the time taken to update the user interface. At the end of this chapter, you should be able to find ways to tune your app to be able to run at 60 frames per second (fps). ...