Performance

Our baseline goal with the SDK is to enhance or maintain the use experience for the host app. In other words, we do everything possible to not negatively impact the performance of the host app and the mobile device.

To that end, we have profiled the performance of our SDK and logged the observations and results from the profiling exercise.

Please note that our test scenarios are intentionally designed to stress the SDK. You will likely never encounter this level of usage with real users of your mobile app.

Profiler Test Results

Test Harness

Our test hardness for profiling LotaData SDK consisted of:

  1. Nexus 5X, 5.2" 1080x1920, Android 7.0
  2. LotaData Demo App from Google Play
  3. Dell Notebook PC, Intel core i7 with Ubuntu 16
  4. Android Profiler in Android Studio IDE
  5. Test duration: 15 minutes
  6. Test methodology : One geo-fix every 5 seconds resulting in a total of 180 geo-fixes for the test

SDK Size

LotaData SDK size is 169 KB. This is a very compact SDK with an wide range of features for mobile analytics and data insights.

Memory Usage

LotaData SDK's memory usage is in the range of 5 MB.

First Measurement: We measured the app's memory usage before the location permission pop-up panel was triggered, and we found it to be 29.20 MB. Note that our SDK was not running at this time.

Second Measurement: Next, we agreed to the location permission and the Privacy Policy opt-in to ensure that our SDK (actually, MomentsService) was up and running. We then waited for 15 minutes and found the app's memory usage to be 33.48 MB.

The memory usage of 4.28 MB is the difference between the above two test measurements.

Data Usage

LotaData SDK's data usage was less than 100 KB over the duration of the test.

CPU Usage

LotaData SDK's CPU usage was too low in our tests to even register with the profiler tool, as indicated by below screenshot of the console.

Device Test Results

Test Harness

Our test hardness for profiling LotaData SDK consisted of:

  1. Google Pixel 2 smartphone with Android 8.1.0
  2. LotaData Demo App from Google Play

SDK Size

Memory Usage

Power Usage

LotaData SDK's typical battery impact in less than 1 % over a period of 12 hours.

To arrive at this number, we measured the host app's power usage on the test device. The battery usage was monitored using the default tools available in Android Marshmallow OS > Settings > Apps > LotaData Demo App > Battery.

First Measurement:

We launched the app and kept it running for a while. At this point, our SDK (actually, MomentsService) had been running in the foreground for 15 minutes and had been pinging GPS every 15 seconds. We found the app's battery usage to be %.

need image here

Second Measurement:

We then performed the extended drain test and checked again. At this point, our SDK (actually, MomentsService) had been running in the foreground for 12 hours and had been pinging GPS every 15 seconds. We found the app's battery usage to be %.

need image here

Data Usage

LotaData SDK's typical data usage in less than MB over a period of 12 hours.

To arrive at this number, we measured the host app's data usage on the test device. The data usage was monitored using the default tools available in Android Marshmallow OS > Settings > Apps > LotaData Demo App > Data Usage.

First Measurement: We launched the app and kept it running in the foreground for a while. At this point, our SDK (actually, MomentsService) had been running for 15 minutes and had been pinging GPS every 15 seconds. We found the app's data usage to be MB.

need image here

Second Measurement:

We then performed the extended data usage test and checked again. At this point, our SDK (actually, MomentsService) had been running in the foreground for 12 hours and had been pinging GPS every 15 seconds. We found the app's data usage to be MB.

need image here

CPU Usage

LotaData SDK's typical CPU usage is in the range of %.

To arrive at this number, we measured the host app's CPU usage on the test device using the Android Profiler tool available in the Android Studio IDE.

We monitored CPU usage at different moments through the Android Profiler while the smartphone was tethered to the PC.

We kept the app running for an hour in the foreground and measured CPU usage. In other words, our SDK (actually, MomentsService) had been running in the foreground for 60 minutes and had been pinging GPS every 15 seconds. We found the app's CPU usage to be %.

need image here


Questions?

We are eager to hear from you and happy to share best practices for integrating the SDK. There are many ways for you to reach us:

But first, please sign up for an account with LotaData so that we may send you the link to download our SDK.


Was this helpful? Yes, thanks! Not really

results matching ""

    No results matching ""