Is MMKV suitable for handling large data (100M+)? Normally I would say no because when the data is large, it will slow down significantly each time it needs a full write back. You should be able to observe this when you import such data into MMKV for the first time. However, if those data are written once and read only later, plus if you can survive the pain of importing, then using MMKV is a reasonable choice.
Is MMKV using that much memory? The answer is no. The file is mapped into memory, so the memory will be swapped out whenever the system encounters a memory warning. That means a mmap memory is not actual memory footprint as long as it was backed by a file. Aka mmap with MAP_SHARED, which MMKV does.
问题一: 请问MMKV适合存储巨量数据吗,例如启动时存入8万条数据,这8万条数据都是key为字符串,值是1K-3M不等的字符串,总共大概有100M的大小。 问题二: 我自己试了下可以存问题一中的数据,暂时还没发现明显问题,但是通过adb shell dumpsys meminfo pkg命令查看进程的内存发现,有一个Other mmap下面增加了很多内存,请问这部分增加的内存有办法去掉吗,理论上不应该是在文件里面吗(因为就是为了节约内存占用才考虑使用的MMKV)?
辛苦解答下