Impact Analysis

This page tracks the impact of VWO SDK for different parameters on your app.

Launch Time

The SDK can be initialized in two ways: synchronous and asynchronous.

  • Asynchronous Initialisation: has no impact on the launch time of your app, as SDK is launched in the background. Asynchronous initialisation is the recommended method.
  • Synchronous Initialisation: In Synchronous initialization, the SDK makes a networking call to fetch settings from VWO's CDN. This can block the main thread for a maximum of three seconds. The thread resumes to normal execution after the response from the CDN.

API Calls

VWO SDK makes three types of API calls to VWO CDN.

  • To fetch settings at the time of SDK initialization. The SDK makes only one call to fetch settings. If this call fails, the SDK does not retry to fetch settings during an ongoing app session. This is done to keep the app behaviour consistent during an ongoing session.
  • To inform VWO when a user becomes part of a campaign. If this call fails, the SDK keeps a track of it and try to send it again after some time.
  • To inform VWO when a user converts a goal in a campaign. If this call fails, the SDK keeps a track of it and try to send it again after some time.

Increase in APK file size

When an Android app is integrated with the VWO SDK, the increase in the size of APK file is around ~300 KB without Proguard and ~200 KB with Proguard.

DependenciesUncompressed Size (in KB)(Without proguard)Uncompressed Size (in KB)(With proguard)
com.vwo:mobile98.192.6
io.socket:socket.io-client392203
com.android.support:support-core-utils385.42.5

Dex Method count

DependenciesMethod count (Without Proguard)Method count (With Proguard)
com.vwo:mobile705705
io.socket:socket.io-client27812018
com.android.support:support-core-utils339012

RAM Usage

MethodMemory usage(in KBs approx)
VWO.launch(VWOStatusListener listener)55
VWO.launchSynchronously()560
VWO.getObjectForKey(String key, Object defaultValue);< 1
VWO.getIntegerForKey(String key, int defaultValue);< 1
VWO.getDoubleForKey(String key, double defaultValue);< 1
VWO.getStringForKey(String key, String defaultValue);< 1
VWO.getBooleanForKey(String key, boolean defaultValue);< 1
VWO.getVariationNameForTestKey(String testKey)< 1
VWO.trackConversion()< 1
VWO.trackConversion(double value)< 1

If you want to know the impact of any other parameter or if you are interested in detail of any parameter, please reach out to us: [email protected]