Table of Contents
Overview
The Blue Triangle Mobile App SDK is designed to minimize performance impact on your app while providing essential features. We are committed to maintaining this balance and being transparent about the effects our SDK has on your application.
For more information on the SDK, please visit the following articles: Blue Triangle SDK for Android Installation Guide and Blue Triangle SDK for iOS Installation Guide.
Summary
iOS | Android | |
App Size | 300KB | 1.5MB |
Start Up Time | 3ms | 20ms |
CPU Usage | 2% of one CPU for 5ms | 2% of one CPU for 5ms |
Memory Usage | 350 bytes | 100 bytes |
Disk Usage | 30MB of cache | 30MB of cache |
Network Usage | 2.5KB per request | 2.5KB per request |
App Size
The SDK is designed for minimal size. The additional size impact of SDK on the app size is approximately 1.5mb on Android and 300kb on iOS. (These numbers are the actual size differences of release apk and ipa files with and without SDK)
Start-Up Time Impact
The SDK introduces an approximate start-up time impact of 20ms on Android and 3ms on iOS. This additional start-up cost is due to the SDK's launch time functionality which tracks the app's lifecycle.
Android SDK has ContentProvider to track app launch time. The aboce mentione dimapct time is time taken by code running inside the onCreate of this ContentProvider.
iOS SDK has NSObject load method to track app lifecycle notification. The above mentioned impact time is time taken by code running inside this load method.
CPU Usage
BlueTriangle SDK both on Android and iOS have negligible CPU usage. While tracking screens and network, SDK do utilize less than 2% of one CPU core for less than 5 ms. This usage is for each Timer and network cell tracked. These numbers are captured using the Android Studio Profiler and XCode Profile against a minimal Demo App.
Memory Usage
The SDK has a very light memory footprint on both Android and iOS. Each live timer consumes less than 100 bytes on Android and 350 bytes on iOS. This low memory footprint allows multiple timers to run simultaneously without significantly affecting the overall memory consumption of your app. These numbers are captured using the Android Studio Profiler and XCode Profile against a minimal Demo App.
Disk Usage
This SDK provides offline caching mechanism which stores all the payload for Timer, Network calls, and Errors when the device is offline. The cached payloads are stored in local file storage with a fixed upper bound. The default time is set to 30MB.
Network Usage
The SDK makes API calls to send data to the servers regarding Timers, Network Calls, and Errors. Each of these API has a payload whose size doesn't exceed more than 2.5kb per request.
Method of Measurement
The above=mentioned numbers are tested with Android SDK v2.12.1 and iOS SDK v3.9.2 and on the following environments:
- Android 14 device with 64-bit octa-core processor with Android Studio 2024.1.1
- iPhone 12 with iOS 17.3 on XCode 15.4
Comments
0 comments
Please sign in to leave a comment.