Sqlite stores the tiles sequentially, one at a time. But when storing to files, it works asynchronously - many tiles could be in the process of being stored at once, causing significant I/O load (note how the UI is similarly less responsive while the application manager does its I/O intensive work). Solution ? Store the tiles sequentially and possibly don't save tiles once the saving queue hits some upper bound as to avoid a memory leak