Fixed danglign choreographer callback. (#775)

**This patch fixes the performance issue.**

I've seen the cases where the previous version of the code was re-adding callbacks to the choreographer in case of cancelation/pause. Now it is designed to make it impossible. It looks like there is a copy of the callbacks stored somewhere in the stack. I've been able to reproduce the problem on Android 6.0 and 7.0.

This issue caused application performance degradation and battery drain in the background for us.
2 files changed
tree: 70402a0f0ae3cc6fa3c3a77104fd0e703799344d
  1. .github/
  2. .idea/
  3. After Effects Samples/
  4. gifs/
  5. gradle/
  6. lottie/
  7. LottieSample/
  8. .gitignore
  9. .travis.yml
  10. build.gradle
  11. CHANGELOG.md
  12. credentials.tar.gz
  13. DESIGNER_NOTES.md
  14. gcloud_run.sh
  15. gcloud_setup.sh
  16. gradle.properties
  17. gradlew
  18. gradlew.bat
  19. LICENSE
  20. post_pr_comment.js
  21. README.md
  22. settings.gradle
  23. version.sh
README.md

Lottie for Android, iOS, React Native, and Web

Build Status

Lottie is a mobile library for Android and iOS that parses Adobe After Effects animations exported as json with Bodymovin and renders them natively on mobile!

For the first time, designers can create and ship beautiful animations without an engineer painstakingly recreating it by hand. They say a picture is worth 1,000 words so here are 13,000:

View documentation, FAQ, help, examples, and more at airbnb.io/lottie

Example1

Example2

Example3

Community

Example4

Download

Gradle is the only supported build configuration, so just add the dependency to your project build.gradle file:

dependencies {
  implementation 'com.airbnb.android:lottie:2.5.5'
}