imkarl / CharacterPickerView

可实现三级联动的选择器,高仿iOS的滚轮控件,字体大小自适应
GNU General Public License v3.0
739 stars 153 forks source link

三级联动数据量非常大时,内存受得了吗? #22

Closed anthonyY closed 5 years ago

anthonyY commented 6 years ago

我看你这里设计成了把所有数据都放在 map<String, List>这种方式,会非常耗内存,而我们的省市区数据库数据量非常庞大,如果做成这种方式,感觉是不合适的,请问作者有什么想法?

imkarl commented 6 years ago

内存占用应该不是问题,主要是读取数据+处理成map形式 这个环节消耗资源。

假设中国有50个省,每个省50个市,每个市有50个县,每个地名有5个汉字: 因为一个汉字占用2个字节,所占用的内存应该是 50505025(字节)。也就是 1.2兆字节 左右 和一张600*600的图片占用的内存差不多

imkarl commented 6 years ago

如果想做一下优化,那就改成按需加载,不要一次性读取全部数据了。