The API Call That Took 3 Minutes

Jimmy Leonardo

Jimmy Leonardo

Senior Mobile Engineer & Full-Stack Developer

2 min read
Jimmy Leonardo - The API Call That Took 3 Minutes

A JSON Response That Wouldn't Quit

I still remember working on Garda Mobile Otocare. One of the app's core features needed to pull a full list of car models and their details from an API. The response was enormous, a massive JSON payload covering the full range of vehicle data the app needed. Loading it took about 3 minutes, and worse, it locked up the UI the entire time it ran.

I was still fairly junior at this point, and I knew this wasn't right, but I didn't yet know why, or what to do about it.

Learning Jackson Parsing from Stack Overflow

I started reading through Stack Overflow, trying to understand what was actually slow about parsing a large JSON response on Android. This was before I'd adopted Volley or Retrofit, I was still using HttpAsyncTask for the network call. The API response came back gzip-compressed to keep the download itself fast, but once decompressed, the payload was still huge, and that's where the app was falling apart, loading the entire thing into memory before parsing even started. That's where I came across the Jackson parser, and specifically its streaming API, which could parse directly off the response stream instead of waiting for the whole payload to be decompressed and loaded into memory first.

I spent time reading through how it worked before touching any code. Once I understood it, I rewrote the parsing logic to use Jackson properly, and moved the whole operation onto a background thread so it never touched the UI thread again.

From 3 Minutes to 30 Seconds

The result was immediate. Load time dropped from 3 minutes down to 20 to 30 seconds, and the UI stopped freezing entirely while the data loaded in the background.

It shipped, worked well, and the app delivered fine to the client from there.

I think about this one because it's one of the clearest examples I have of learning something by needing it. I wasn't studying parsing techniques for fun. I had a slow, frozen screen in front of me, and I went and found the specific answer to that specific problem, then actually understood it before I used it.


Source: Gson vs Jackson: Best JSON Libraries for Java — Technosoft Solutions

Share this article

Related Articles

View All Posts →
Jimmy Leonardo

Written by Jimmy Leonardo

Senior Mobile Engineer & Full-Stack Developer with 15+ years of experience engineering production Android, iOS, Nuxt, and Laravel systems for enterprise scale.

Copyright © 2026 Jimmy Leonardo. All Rights Reserved.