Tencent / MMKV

An efficient, small mobile key-value storage framework developed by WeChat. Works on Android, iOS, macOS, Windows, and POSIX.
Other
17.39k stars 1.91k forks source link

Android 遇到fail to mmap ,Out of memory #1201

Closed LinAndroid closed 10 months ago

LinAndroid commented 11 months ago
current API level = 29, libc++_shared=0 version v1.2.13, page size 4096, arch arm64-v8a armv8 AES instructions is supported armv8 CRC32 instructions is supported root dir: /data/user/0/com.xunyi.apollo/app_flutter/mmkv open fd[0xb2], /data/user/0/com.xunyi.apollo/app_flutter/mmkv/mmkv.default fail to mmap [/data/user/0/com.xunyi.apollo/app_flutter/mmkv/mmkv.default], Out of memory closing fd[0xb2], /data/user/0/com.xunyi.apollo/app_flutter/mmkv/mmkv.default fail to unlock fd=178, ret=-1, error:Bad file descriptor open fd[0x90], /data/user/0/com.xunyi.apollo/app_flutter/mmkv/mmkv.default.crc open fd[0xa5], /data/user/0/com.xunyi.apollo/app_flutter/mmkv/mmkv.default fail to mmap [/data/user/0/com.xunyi.apollo/app_flutter/mmkv/mmkv.default], Out of memory closing fd[0xa5], /data/user/0/com.xunyi.apollo/app_flutter/mmkv/mmkv.default fail to unlock fd=165, ret=-1, error:Bad file descriptor file [/data/user/0/com.xunyi.apollo/app_flutter/mmkv/mmkv.default] not valid
LinAndroid commented 11 months ago

使用的版本:com.tencent:mmkv-static:1.2.13

lingol commented 11 months ago

How big is your mmkv.default file? Try not to store too large a key value inside, for example, a key value larger than 10M.

LinAndroid commented 11 months ago

嗯,我确认下是不是单个key存的 value过长了,多谢。