keybase / client

Keybase Go Library, Client, Service, OS X, iOS, Android, Electron
BSD 3-Clause "New" or "Revised" License
8.89k stars 1.23k forks source link

Android app size #15586

Open lorenzleutgeb opened 5 years ago

lorenzleutgeb commented 5 years ago

The Keybase app is one of the largest on my Android device. It uses 127MB (without even logging in so there's no user data), and I think that this is ridiculous. Please take some time to investigate how to make it smaller and implement that.

bartekn commented 5 years ago

iOS app with 1.44GB space usage.

lorenzleutgeb commented 5 years ago

iOS app with 1.44GB space usage.

Is this without user data?

bartekn commented 5 years ago

It's probably with user data but I don't store any files, etc. Even if it's a cache, this should be much smaller. Maybe the app doesn't flush the old data?

juanfra684 commented 5 years ago

keybase is quite inefficient storing data. On Linux, my kbfs dir (private + public + team) uses 68 MB. The $HOME/.local/share/keybase dir uses 840 MB with 432 MB only for kbfs_block_cache.

$ keybase fs quota                                                   
Usage:      97.59 MB
Quota:      250.00 GB
junderw commented 5 years ago

iirc, the caching is set to use up to a certain % of free space, so as your phone gets filled with other stuff, as long as you actually use Keybase to give it a chance to clean up, it should shrink the cache automatically.

For OCD people who get upset seeing a huge chunk of data being "used" by some app and like to keep everything lean and small, I could see how this is frustrating.

Keybase could offer more in the way of settings to manage cache size.

As for the app size, yes it's pretty big.

I'd also be curious to see what is making it so large.

juanfra684 commented 5 years ago

After my last comment, I've been looking for more info about the disk space used. Here are the sizes and percentages: https://keybase.io/docs/kbfs/understanding_kbfs.

Looks like keybase cleans the cache of kbfs after of 2 weeks. I would prefer something more aggressive and configurable.

juanfra684 commented 5 years ago

You can also delete the leveldb files with the button "DB Nuke" in Settings/Advanced in the application (or keybase db nuke for the cli) and keybase will recreate the DB as needed.

lorenzleutgeb commented 5 years ago

@juanfra684 this issue is meant to discuss the size of the Android application excluding user data and not even remotely considering the efficiency of KBFS.

juanfra684 commented 5 years ago

@juanfra684 this issue is meant to discuss the size of the Android application excluding user data and not even remotely considering the efficiency of KBFS.

Sorry, my comments were related to bartekn and junderw replies.

About the size of the application on android, keybase uses golang which generates big binaries. They can't reduce the size without recreate the application in a different programming language. For example, the APK contains +60MB of libraries (the biggest one is 55MB). Even if they change the UI to something native instead of react, the golang part will be always big.

wesinator commented 5 years ago

TL,DR: Keybase app is almost double the size of similar apps

App sizes for comparison (Android 9):

this is just app sizes, not including data

wesinator commented 4 years ago

Android app is growing larger, to 128MB after 4.6.0 (Android 9 Pie)

mathieujobin commented 4 years ago

Comparing with more apps

I am definitely more concerned about cache size. Maybe I have OCD, maybe I need the free space to capture family moments. is there a separate issue about it ?

full keybase app takes 1.8GB on Android

examachine commented 3 years ago

It consumes about 0.5 GB data space right now, that's too much especially since I store nothing. So what's there in the cache? On older phones with just 16gb or 32gb storage, huge problem really. Is keybase trying to tell us, use the damn space in the drive? :)