We are creating a disconnected app using Cordova,the Phonegap plugin, Sync Gateway, and Couchbase. The sync works fine and pulls down about 8K objects. We then have a number of views using Javascript maps. When we access the views the data is returned as expected. The issue is that this works very fast on iOS and extremely slow on Android - both in the emulator and on physical devices (tested on GS3 & GS5). One view takes a few seconds on iOS and 3 minutes on Android. Other views take upwards of 20 minutes. It seems the index is being created because the 2nd time accessing the view is much faster.
Are there any known issues with Couchbase Lite on Android that would cause this drastic performance gap? We reduced the view map functions to almost nothing and it did not seem to impact the time.
Seems like your indexing is slow. Can you provide some code for the different Map Functions you have as the extreme contrast you described is very strange between iOS and Android.
Which version of CBL are you using and are you emitting the entire document?
This sounds like a good idea. I do not currently have a build environment for the plugin and the Java CBL project. I would be willing to try this if you could provide a new build. We are iterating over all the objects and doing manual filtering as a workaround.
I have not profiled the CBL running as part of a Cordova app- except for the logging with times I added above.
If there is a quick/easy way to profile the code in my test environment I will give it a try.