App size increased by 6.5 MByte after upgrade to CBL 1.2.0


#1

After upgrading my Android App to Couchbase Lite 1.2.0, the size of the app increased hugely. Unzipping the APK file showed that most of the increase came from the lib folder. These are the folders and files before an after the upgrade:

                                                    before       after
lib                                                231.112   6.802.880
   arm64-v8a                                             -   1.202.032
      libcbljavasqlitedefault.so                         -   1.202.032
   armeabi                                          35.056     517.380
      libcom_couchbase_touchdb_RevCollator.so       13.432           -
      libcom_couchbase_touchdb_TDCollateJSON.so     21.624           -
      libcbljavasqlitedefault.so                         -     517.380
   armeabi-v7a                                      30.986     501.004
      libcom_couchbase_touchdb_RevCollator.so       13.436           -
      libcom_couchbase_touchdb_TDCollateJSON.so     17.532           -
      libcbljavasqlitedefault.so                         -     501.004
   mips                                            142.340   1.034.316
      libcom_couchbase_touchdb_RevCollator.so       71.096           -
      libcom_couchbase_touchdb_TDCollateJSON.so     71.244           -
      libcbljavasqlitedefault.so                         -   1.034.316
   mips64                                                -   1.594.960
      libcbljavasqlitedefault.so                         -   1.594.960
   x86                                              22.748     787.700
      libcom_couchbase_touchdb_RevCollator.so        9.324           -
      libcom_couchbase_touchdb_TDCollateJSON.so     13.424           -
      libcbljavasqlitedefault.so                         -     787.700
   x86_64                                                -   1.165.488
      libcbljavasqlitedefault.so                         -   1.165.488

Is this increase plausible? Together with the upgrade, I first managed my project using Gradle, so maybe I made some mistake getting all my dependencies.


Apk size increased again
#2

Hi @tam1,

Till CBL Android v1.1.x, SQLite custom collator (native library) uses Java’s Collator. Invoking Java code from native is slow. From v1.2.0, CBL Android contains ICU4C for collator in native binary to improve the performance. This is primary reason of size increase. We will do further effort to reduce library size.

Thanks!
Hideki


#3

Thanks Hideki. The performance improvement is really great. So let’s hope for a reduction of size.