I'm currently writing a hybrid application that uses IndexedDB + PouchDB to cache several pieces of information from a REST endpoint. Each endpoint is saved to a PouchDB store, so stores like '/location','/users','/products', etc. I've noticed that when I start opening more new PouchDB(name)s my application started to slow down on my iOS device running iOS 13. On my android 10 device, the performance of my application much better though still not great.
On the initial launch of the application, several fetch requests are fired to store the required REST endpoint's response into different PouchDB stores (roughly around 60 or so stores).
When navigating through the application, there are items you can tap on to get more information regarding that item. The additional information is stored within PouchDB and so a pouchDB.find() is used to retrieve the data from that store.
+-----------+------------+------------+
| device | Launch | navigation |
+-----------+------------+------------+
| ios13 | 13minutes | 3.5seconds |
| android10 | 91seconds | 0.6seconds |
+-----------+------------+------------+
From a performance tests of my application, iOS seems to be taking a significantly longer time to complete the same tasks. since things like navigation should be pulling from the cached values in PouchDB instead of the REST endpoint.
I wondering if anyone one else has experience this type of slow down caused by having several PouchDB stores? If so, did you have any work arounds or solutions to the fixing the performance issues with several stores on iOS?