-
Notifications
You must be signed in to change notification settings - Fork 64
Description
Dear developers,
We are applying our performance diagnosis tool PerfProbe to debug the long latency for clicking "Guides" -> "ALL" tab. We observe that the loading time for this user interaction is quite long (on average around 25 seconds and can increase to longer than 45 seconds in our test environment). Through its system-wide profiling and tracing, PerfProbe discovers that the source of extra delay results from longer delay in network blocking for object downloading during the execution of Android's API call libcore/io/Posix.recvfromBytes, which is invoked by get method calls inside getAllGuides method call in INaturalistService class. Based on our investigation of the source code, the getAllGuides method call is issuing sequential HTTP GET request for the link "guides.json?/per_page=200&page=x" page by page.
We hope the findings from our tool can be helpful for your debugging. We are also interested in helping improving the performance of this interaction. One suggestion to improve the latency that we can come up with is to limit the number of results retrieved through HTTP GET request and add a "Load more" option in the UI for loading more results. Please let use know if it will work or not. Thanks for your attention!
Steps to reproduce:
- Click the Menu tab
- Click "Guides" tab
- Click "ALL" tab
Environment:
App version: 1.5.10 (207)
Android version: Android 4.4.4
Device: Nexus 4