AutoFill memory limits
Unlike the main KeePassium app, AutoFill has very limited memory to operate with — about 120 MB.
If your database is quite large, or uses the memory-hard Argon2 algorithm, AutoFill may not have enough memory to decrypt and load the data. In this case, you will likely see a “Not enough memory to continue” message:
Free up some memory
First of all, the system can indeed be low on memory (RAM, not storage). This can happen if there is a memory-hungry app or game running in background. In this case, AutoFill might have even less than 120 MB to begin with.
Now that the RAM has been flushed, when you return to one of the previously opened apps, you will notice they reload.
Tweak database settings
If cleaning the memory did not help, it is time to look at your database settings. The Argon2 algorithm, used by some databases, is designed to be a memory-heavy procedure. Depending on its parameters, Argon2 may request hundreds of MB — way more than system’s limit for AutoFill.
You can change your database encryption settings to use less memory, say 32 MB max. You can change this in desktop KeePass: File → Database Settings → Security → Key transformation. To compensate the decrease in memory complexity, you can increase the number of algorithm iterations.
Reduce database size
Finally, it can be that the database file is too large to fit in memory.
By default, KeePass apps compress database content before encryption. Thus, even if the file is relatively small (5 MB or more) it will need much more memory to load.
To make the database file smaller and thus quicker to load:
- Run database maintenance to remove obsolete data. This can be done in KeePass: Tools → Database Tools → Database Maintenance.
- Convert the database to
kdbx4format which stores attachments more efficiently
- KeePass: File → Database Settings → Security → Database encryption algorithm → select “ChaCha20”
- KeePassXC: Database → Database settings → Security → Encryption settings → Database format → select “KDBX 4”
- As a last resort, move some attachments to a separate database.