Location When In Use
Layouts are a key part of iOS applications that directly affect the user experience. If poorly implemented, your layout can lead to a memory hungry application with slow UIs.
|iPhone 5s (A1433/A1453) (10.3.2)||3m0s.0||102|
|iPhone 5s (A1433/A1453) (10.3.2)||1m28s.0||97|
|iPhone 5s (A1433/A1453) (10.3.2)||6m17s.0||56|
|iPhone 5s (A1433/A1453) (10.3.2)||4m22s.0||56|
|iPhone 5s (A1433/A1453) (10.3.2)||6m55s.0||54|
|iPhone 6 (10.2.1)||5m12s.0||99|
|iPhone 6 (10.2.1)||4m42s.0||94|
|iPhone 6 (10.2.1)||1m31s.0||93|
|iPhone 6 (10.2.1)||2m29s.0||52|
|iPhone 6s (11.0.2)||1m2s.0||87|
|iPhone 7 (A1778) (11.0.3)||1m20s.0||101|
|iPhone 7 Plus (A1784) (11.2.1)||58s.0||108|
|iPhone 7 Plus (A1784) (11.2.1)||8m58s.0||53|
|iPhone 7 Plus (A1784) (11.2.1)||9m18s.0||51|
It is a common misconception that using the basic layout structures leads to the most efficient layouts. However, each layout you add to your application requires initialization, layout, and drawing.
|iPhone 5s (A1433/A1453) (10.3.2)||1m28s.0||12|
|iPhone 5s (A1433/A1453) (10.3.2)||6m17s.0||12|
|iPhone 5s (A1433/A1453) (10.3.2)||4m22s.0||12|
|iPhone 5s (A1433/A1453) (10.3.2)||3m0s.0||12|
|iPhone 5s (A1433/A1453) (10.3.2)||6m55s.0||12|
|iPhone 6 (10.2.1)||5m12s.0||12|
|iPhone 6 (10.2.1)||4m37s.0||12|
|iPhone 6 (10.2.1)||4m42s.0||12|
|iPhone 6 (10.2.1)||1m31s.0||12|
|iPhone 6 (10.2.1)||2m29s.0||12|
|iPhone 6s (11.0.2)||57s.0||10|
|iPhone 6s (11.0.2)||1m2s.0||10|
|iPhone 7 (A1778) (11.0.3)||1m20s.0||10|
|iPhone 7 (A1778) (11.0.3)||1m15s.0||10|
|iPhone 7 (A1778) (11.0.3)||2m48s.0||10|
|iPhone 7 Plus (A1784) (11.2.1)||58s.0||10|
|iPhone 7 Plus (A1784) (11.2.1)||8m58s.0||10|
|iPhone 7 Plus (A1784) (11.2.1)||9m18s.0||10|
An iOS application is a single installable unit that can be started and used independently of other applications.
Memory usage and launch time are in the top of developer's performance concerns. In the other hand, users expect you app to load in 3 seconds. If your app doesn't launch fast enough, you may lose them.
The CPU is the unit responsible for carrying out all instructions of an application and all the necessary instructions for running different subsystems that maintain running the iOS (multimedia, audio, render, etc.)
When the CPU usage is high, the user may experience sluggishness or higher battery usage (among some other symptoms). Since the CPU usage is a shared resource, abuse of CPU usage may prevent other running services work correctly, affecting the user experience as the proper functioning of iOS (and the applications that run there). With higher levels of instructions, the CPU increases its speed with a consequent increase in use of voltage that causes the battery to drain faster.
Random-access memory (RAM) is one of the most valuable resource in any software development environment, but it's even more valuable on several mobile operating system where physical memory is constrained.
Retaining memory that the app doesn't need can cause out of memory (OOM) exceptions or constraining the system's overall performance.
|iPad Air 2 (Wi-Fi) (10.1.1)||3m28s.0||69MB|
|iPad Air 2 (Wi-Fi) (10.1.1)||2m43s.0||61MB|
|iPad Air 2 (Wi-Fi) (10.1.1)||1m41s.0||60MB|
|iPhone 5s (A1433/A1453) (10.3.2)||5m35s.0||43MB|
|iPhone 5s (A1433/A1453) (10.3.2)||3m41s.0||42MB|
|iPhone 5s (A1433/A1453) (10.3.2)||2m20s.0||42MB|
|iPhone 5s (A1433/A1453) (10.3.2)||4m22s.0||43MB|
|iPhone 6 (10.2.1)||4m43s.0||42MB|
|iPhone 6 (10.2.1)||9m5s.0||45MB|
|iPhone 6 (10.2.1)||9m19s.0||45MB|
|iPhone 6 (10.2.1)||8m41s.0||42MB|
|iPhone 6 (10.2.1)||4m33s.0||41MB|
|iPhone 6 (10.2.1)||8m38s.0||42MB|
Using the wireless radio to transfer data is potentially one of your app's most significant sources of extra fees, poor user experience and battery drain. To minimize the associated effects with network activity, it's important that you understand how your connectivity model will affect the underlying radio hardware.
If your application performs a lot of network operations, you should provide user settings that allow users to control your app's data habits, such as how often your app syncs data, whether to perform uploads/downloads only when on Wi-Fi, whether to use data while roaming, and so on.
An application typically crashes when it performs an operation which is not allowed by the operating system. The operating system then triggers an exception or signal in the application.
An exception is an event that occurs during the execution of a program that disrupts the normal flow of instructions. A exception contains a snapshot of the execution stack of its thread at the time it was created. It can also contain a message string that gives more information about the error.
Since battery is one of the top appreciated resources by users in their phones and tablets, developers should take care about battery consumption and need to know key-factors involved in battery drain.
High CPU usage means more frequency and more power needed to feed battery. Bad image rendering with high GPU or CPU usage, sensor usage and tracking location are also relevant factors to improve power consumption. More often, when using wireless radio to transfer data, the way to do it and how often your app uses radio is critical to minimize power consumption.
Application startup time: