Xcode & Instruments: Measuring Launch time, CPU Usage, Memory Leaks, Energy Impact and Frame Rate

With the release of iOS 12.0 it’s easier than ever for users to find applications that are consuming the most of their device’s finite amount of resources. Users can now make informed decisions about which applications they want to keep around, and which they don’t.

Device Environment

CPU Usage

Total pre-main time: 1.1 seconds (100.0%)
dylib loading time: 866.21 milliseconds (76.9%)
rebase/binding time: 72.07 milliseconds (6.4%)
ObjC setup time: 52.54 milliseconds (4.6%)
initializer time: 134.81 milliseconds (11.9%)
slowest intializers :
libSystem.B.dylib : 8.99 milliseconds (0.7%)
AFNetworking : 32.60 milliseconds (2.8%)
Apptentive : 51.09 milliseconds (4.5%)
App Name : 50.80 milliseconds (4.5%)
2018–10–10 15:42:42.784235–0700 App Name[643:186751] *** App Launched in: 2.541393 sec ***

General Usage

Note: Image above represents running the app, waiting for startup to complete, then navigating around Shop, My Bag, Wallet, Account, and Product screens without deliberately overworking the User Interface in a way that a typical user would not.

Feature Specific Usage

Note: Image above represents running the app, waiting for startup to complete, then opening up the first category on the featured screen and scrolling extremely fast through the list of products. It does not represent the usage behavior of a typical user, but is intended to stress test the performance of the components that render the screen.

Identified Issues

  1. Shimmer Framework

Product Detail

Bag / Save For Later

Wallet

Account

Search

Memory Usage

Memory Leaks / Retain Cycles

Energy Impact

Frame Rate

--

--

--

Takes photos, writes words and codes things.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Organizing vs. Creating

The EC2 instance type you need

Null-Safe GetComponent Call in Unity

Custom Software development and its benefits

How to setup GPS Module with Raspberry Pi and perform Google Map Geo-Location Tracking in a…

DRY HTML or DRY CSS? 🤯

Serialization and Deserialization

The Tech Company Do’s and Don’ts

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Phill Farrugia

Phill Farrugia

Takes photos, writes words and codes things.

More from Medium

Gousto’s iOS order Widget

Moving your first steps with Siri

Image of Siri’s icon

Simple Things That Makes Your Code Look Better

Struct vs Classes