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.
Dependencies | Uncompressed Size (in KB)(Without proguard) | Uncompressed Size (in KB)(With proguard) |
---|---|---|
com.vwo:mobile | 98.1 | 92.6 |
io.socket:socket.io-client | 392 | 203 |
com.android.support:support-core-utils | 385.4 | 2.5 |
Dex Method count
Dependencies | Method count (Without Proguard) | Method count (With Proguard) |
---|---|---|
com.vwo:mobile | 705 | 705 |
io.socket:socket.io-client | 2781 | 2018 |
com.android.support:support-core-utils | 3390 | 12 |
RAM Usage
Method | Memory 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]