Since the implementation of our initial prototype, we’ve been using and iterating on the internal tracer, and are now able to confidently debug those difficult performance issues. Some questions we initially struggled to answer included “Why are certain animations slow to start?” and “Why is TextView inflation slow in some cases?” After running into limitations of the Android Studio CPU profiler, we built Nanoscope, an internal tool to provide us with better method tracing. More complex investigations, however, were sometimes rendered inconclusive due to incomplete or inaccurate data. In those cases, we found conventional Android performance profiling tools quite sufficient for debugging. It’s easy to spot I/O on the main thread, for example. Early on, we learned that certain classes of performance issues are trivial to root cause. Last October, Uber’s Mobile Engineering team kicked off an effort to improve app performance, and we’ve made great progress so far with speedups of well over 50 percent for some of our key transitions.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |