-
-
Couldn't load subscription status.
- Fork 460
[ANR] Defer some class availability checks #4825
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
lazy checking available classes in: * ActivityFramesTracker * AndroidViewGestureTargetLocator * UserInteractionIntegration
Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| b3d8889 | 420.46 ms | 453.71 ms | 33.26 ms |
| ee747ae | 386.94 ms | 431.43 ms | 44.49 ms |
| ee747ae | 400.46 ms | 423.61 ms | 23.15 ms |
| 9fbb112 | 361.43 ms | 427.57 ms | 66.14 ms |
| cf708bd | 408.35 ms | 458.98 ms | 50.63 ms |
| ee747ae | 396.82 ms | 441.67 ms | 44.86 ms |
| cf708bd | 434.73 ms | 502.96 ms | 68.22 ms |
| bdbe1f4 | 380.66 ms | 464.44 ms | 83.78 ms |
| 806307f | 357.85 ms | 424.64 ms | 66.79 ms |
| f634d01 | 375.06 ms | 420.04 ms | 44.98 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| b3d8889 | 1.58 MiB | 2.10 MiB | 535.07 KiB |
| ee747ae | 1.58 MiB | 2.10 MiB | 530.95 KiB |
| ee747ae | 1.58 MiB | 2.10 MiB | 530.95 KiB |
| 9fbb112 | 1.58 MiB | 2.11 MiB | 539.18 KiB |
| cf708bd | 1.58 MiB | 2.11 MiB | 539.71 KiB |
| ee747ae | 1.58 MiB | 2.10 MiB | 530.95 KiB |
| cf708bd | 1.58 MiB | 2.11 MiB | 539.71 KiB |
| bdbe1f4 | 1.58 MiB | 2.11 MiB | 538.88 KiB |
| 806307f | 1.58 MiB | 2.10 MiB | 533.42 KiB |
| f634d01 | 1.58 MiB | 2.10 MiB | 533.40 KiB |
|
Performance gains in release builds for |
sentry-android-core/src/main/java/io/sentry/android/core/UserInteractionIntegration.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, with one thing in UserInteractionIntegration
# Conflicts: # CHANGELOG.md
…er() in the main thread anyway
📜 Description
added lazy class available check to LoadClass
lazy checking available classes in:
💡 Motivation and Context
Checking if a class exists uses reflection, which can be slow especially during app startup. Deferring some calls, we can improve SDK init time
💚 How did you test it?
📝 Checklist
sendDefaultPIIis enabled.🔮 Next steps