Moving network waits off Main eliminates one possible bottleneck. It does not prove the rest of the response pipeline is safe. Large JSON transformations, synchronous disk access, and waiting for a lock can all stall Main afterward.
Worker: acquires shared cache lock -> performs slow disk write
Main: needs cache lock to render -> waits behind disk write
The disk operation is already on a worker, yet Main still depends on it. Shorten the critical section or change data ownership so rendering can read a snapshot without waiting on slow work. Moving more calls to IO does not remove the dependency.
Would StrictMode find everything? It can reveal certain problematic operations, but it is not a complete lock-contention or ANR diagnosis. Confirm a fix using traces and production ANR trends, not just the disappearance of one warning.
Mark this when you can explain the answer in your own words.
Help fellow developers prepare for interviews
Sharing helps the Android community grow ๐