[Swift 开发] NSMutableDictionary() 内存溢出 (33554432 、 2^24、innodb_additional_mem_pool_size )

我们在使用NSMutableDictionary时候,有大量的数据要操作。 假设千万级别的。

咱们做一个小Demo
 

let dic = NSMutableDictionary()
        
        
for i in 1...2<<24
{
    dic["\(i)"] = "\(i)"
            
    if dic.count != i
    {
       print(i)
    }
}        

打印结果为:33554432

这时候dic的数据为0.为什么会这样?

这里有个关键词叫:innodb_additional_mem_pool_size(是 InnoDB 用来保存数据字典信息和其他内部数据结构的内存池的大小)
默认大小是2^24.

在iOS中也不可以修改。
所以大家在使用Dictionary的时候,切记不要大小不要超过2^24

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值