ProtoBuf是由google公司用於數據交換的序列結構化數據格式,具有跨平臺、跨語言、可擴展特性,類型於常用的XML及JSON,但具有更小的傳輸體積、更高的編碼、解碼能力,特別適合於數據存儲、網絡數據傳輸等對存儲體積、實時性要求高的領域。
優點:空間效率搞,時間效率要高,對於數據大小敏感,傳輸效率高的。
缺點:消息結構可讀性不高,目前使用不廣泛。
MMKV維護了壹個<String,AnyObject>的dic,在寫入數據時,會在dit和mmap映射區寫入相同的數據,最後由內核同步到文件。因為dic和文件數據同步,所以讀取時直接去dit中的值。MMKV數據持久化的步驟:mmap 內存映射 -> 寫數據 -> 讀數據 -> crc校驗 -> aes加密。
在MMKV的源碼中,是怎麽樣內存映射的呢?