又删了12个人 ,节约了94M的空间!——来让做过IM应用的人帮你分析

让技术宅来辟谣

又删了12个人
,节约了94M的空间!【不要让拉黑你的人占用你的空间,您也试试吧,复制我的消息,找到微信里的设置,通用,群发助手,全选,复制粘贴消息发送就行,谁的名字变色了,删掉就行!】
已啦。

有朋友今天找我,说最近老是收到这条微信消息,被烦到不要不要的境地。
但是那么多人在发,不知道是不是真的删除几个拉黑自己的人就能节省很大空间出来?只是想到自己收到类似信息时的反感心情,又不敢轻易尝试,所以搞得自己很纠结。

正好我曾经做过类似的IM即时通讯工具,为了有理有据,那么我就从微信客户端的数据存储角度来分析这个问题。

首先鉴于微信存储的数据特征,采用SQLite数据库结合本地文件来存储本地数据,数据库为local.db,本地文件存储在document目录下的localfile文件夹中。

下面我们就来进行详细的数据库表结构分析。

1 msg表详细信息

表名:msg 备注:消息数据存储表

主键 字段名 数据类型 长度 可空 备注
ID int 32 消息唯一id
m_chatId String 64 聊天id
m_strOppositeSideName String 64 发消息者名称
m_strMessageBody String 256 消息内容
m_isFromSelf Bool 2 是否是自己发的小
m_messageStatus Int 32 消息状态
m_strTime String 32 消息时间戳
m_oppositeChaterId String 64 发送方id
m_contentType Int 32 内容类型
mediaPath String 256 附件路径
loginUserId Int 32 当前用户id,对应loginUser表的id

注:每收发一条消息,均向该表中添加一条数据,如果收发的是语音、图片、小视频,则同时往localfile文件夹下存储一个附件文件,消息的mediaPath项纪录附件完整的路径。

2 contact表详细信息

表名: contact 备注:联系人信息存储表

主键 字段名 数据类型 长度 可空 备注
id string 64 主键,微信号
Name String 64 名称
City Stirng 32 地区
HeadPic String 256 头像链接
Sex Bool 2 性别
Signature String 256 个性签名
From String 64 来源
Comments String 64 备注名
PhoneNum1 String 11 备注,手机号码1
PhoneNum2 String 11 备注,手机号码2
PhoneNum3 String 11 备注,手机号码3
PhoneNum4 String 11 备注,手机号码4
PhoneNum5 String 11 备注,手机号码5
TagId Int 64 标签id,对应tag表的主键,默认无标签
DescString String 256 描述
DescPhoto String 64 描述图片路径
IsStar Bool 2 是否星标好友,默认不是
CanSeeMe Bool 2 可以看我朋友圈,默认可看
SeeHis Bool 2 看他朋友圈,默认可看
Black Bool 2 加入黑名单,默认不加
loginUserId Int 32 当前用户id,对应loginUser表的id

3 chat表详细信息

表名:chat 备注:聊天信息表

主键 字段名 数据类型 长度 可空 备注
id int 32 主键,会话id,群聊时为生成id,单聊则为对方id
isTop Bool 2 是否置顶,默认不置顶
Mute Bool 2 消息免打扰,默认不开启
Background String 64 聊天背景,默认不使用
isGroup Bool 2 是否群聊
GroupName String 32 群聊名称,默认前三个人名,群聊有效
Code String 32 群二维码,群聊有效
Notice String 256 群公告,群聊有效
NikeName String 32 我在本群的昵称,默认用微信昵称
ShowNickName Bool 2 显示他人在群里的昵称
loginUserId Int 32 当前用户id,对应loginUser表的id

4 group_member表详细信息

表名:group_member 备注:群组成员表。

主键 字段名 数据类型 长度 可空 备注
ContactId String 64 联合主键,contact表的主键
ChatId int 32 联合主键,chat表主键
GroupNickName String 32 用户在群聊中的昵称

5 tag 表详细信息

表名:tag 备注:标签表

主键 字段名 数据类型 长度 可空 备注
id int 10 主键
Name String 32 Tag名称
loginUserId Int 32 当前用户id,对应loginUser表的id

6 loginUser表详细信息

表名: loginUser备注:登录用户信息表

主键 字段名 数据类型 长度 可空 备注
Account String 32 账户名,主键
id string 64 微信号
Name String 64 名称
City Stirng 32 地区
HeadPic String 256 头像链接
Sex Bool 2 性别
Signature String 256 个性签名
From String 64 来源
Comments String 64 备注名

表结构分析到此结束。

怎么理解这个信息呢,针对最后一张表loginUser表,我们可以理解为这就是一张excel的表格结构定义,这个表格包含了Account、id、Name、City、HeadPic、Sex、Signature、From、Comments这么多列。每次有不通的用户登录后,该表格中就多插入一条数据。(主键表示该列的数据唯一)

也就是说没多一个联系人,则contact表多一条数据,都一条消息,则msg表多一条数据(语音、图片、小视频文件同时存入localfile文件夹中),多一个群组,则聊天表格多一条数据。

从上面分析可以看出,好友基本都是文本信息,占用空间微乎其微,而且好友数据相对固定(微信最多可加好友300人?)而真正数据膨胀的则是msg既聊天消息(微信对聊天条数并没有限制,而且聊天中的图片、表情、语音、视频一般都是兆或者几十兆的数据单位)。

所以,好友数和空间内存没有关系
占用存储空间的不是好友,而是和好友的聊天消息
本文完

ps:清理内存的方法,设置--通用--清理储存空间--查看微信储存空间--选择删除
再ps:markdown插入表格的方法是在是坑~~~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,667评论 5 472
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,361评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,700评论 0 333
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,027评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,988评论 5 361
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,230评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,705评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,366评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,496评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,405评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,453评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,126评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,725评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,803评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,015评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,514评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,111评论 2 341

推荐阅读更多精彩内容