diff --git a/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/SimpleAnimationActivity.kt b/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/SimpleAnimationActivity.kt
index 1ce1b08..5404a52 100644
--- a/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/SimpleAnimationActivity.kt
+++ b/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/SimpleAnimationActivity.kt
@@ -1,14 +1,45 @@
 package com.airbnb.lottie.samples
 
 import android.os.Bundle
+import android.widget.Toast
 import androidx.appcompat.app.AppCompatActivity
+import com.airbnb.lottie.LottieComposition
+import com.airbnb.lottie.LottieCompositionFactory
+import com.airbnb.lottie.LottieDrawable
+import com.airbnb.lottie.model.LottieCompositionCache
 import kotlinx.android.synthetic.main.activity_simple_animation.*
+import kotlinx.android.synthetic.main.activity_simple_animation.view.*
+import java.lang.IllegalArgumentException
 
+/**
+ * Useful for performance debugging.
+ * adb shell am start -n com.airbnb.lottie/.samples.SimpleAnimationActivity --es animation LottieLogo1.json --activity-clear-top
+ */
 class SimpleAnimationActivity : AppCompatActivity() {
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         setContentView(R.layout.activity_simple_animation)
-        animationView.setAnimation(intent.extras?.getString("animation") ?: "")
+        var composition: LottieComposition? = null
+        parse.setOnClickListener {
+            val assetName = intent.extras?.getString("animation") ?: ""
+            LottieCompositionCache.getInstance().clear()
+            val start = System.currentTimeMillis()
+            composition = LottieCompositionFactory.fromAssetSync(this, assetName).value
+                    ?: throw IllegalArgumentException("Invalid composition $assetName")
+            Toast.makeText(this@SimpleAnimationActivity, "Done ${System.currentTimeMillis() - start}", Toast.LENGTH_SHORT).show()
+        }
+
+        setComposition.setOnClickListener {
+            val start = System.currentTimeMillis()
+            val drawable = LottieDrawable()
+            drawable.setComposition(composition)
+            Toast.makeText(this@SimpleAnimationActivity, "Done ${System.currentTimeMillis() - start}", Toast.LENGTH_SHORT).show()
+        }
+
+        play.setOnClickListener {
+            composition?.let { animationView.setComposition(it) }
+            animationView.playAnimation()
+        }
     }
 }
\ No newline at end of file
diff --git a/LottieSample/src/main/res/layout/activity_simple_animation.xml b/LottieSample/src/main/res/layout/activity_simple_animation.xml
index d07562c..0e0271a 100644
--- a/LottieSample/src/main/res/layout/activity_simple_animation.xml
+++ b/LottieSample/src/main/res/layout/activity_simple_animation.xml
@@ -4,11 +4,32 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 
+    <Button
+        android:id="@+id/parse"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="Parse"/>
+
+    <Button
+        android:id="@+id/setComposition"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_horizontal"
+        android:text="Set Composition"/>
+
+    <Button
+        android:id="@+id/play"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="end"
+        android:text="Play"/>
+
+
     <com.airbnb.lottie.LottieAnimationView
         android:id="@+id/animationView"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        app:lottie_autoPlay="true"
+        app:lottie_autoPlay="false"
         app:lottie_loop="true" />
 
 </FrameLayout>
\ No newline at end of file
