cc.sys.localStorage非常耗时啊

以前存储数据少的时候没发现,现在需要存储一个10*10二维数组,也就是100个数据,自己打了下LOG,发现居然耗时3秒钟左右,导致程序卡的非常厉害。
这个问题有什么好的解决办法吗?谢谢!

哪能那么慢的

实测在10毫秒内都能写入完成

真是这么慢,测了多少次了,有时候2秒,有时3秒。没办法,现在把100个数据放在一起作为一条写入,读的时候一起读出,然后再分别择出来

和数据大小无关,和写的次数有关。
另外,读的话很快,就是写的时候慢

部分手机是很慢.而且还是不错的安卓机.一个数据都有明显卡顿,最后只能把写改成子线程中进行了.

没错,确实卡,几条数据马马虎虎能对付,这次100条卡死我了。
但貌似JS也没有子线程啊。。。。

这东西读写频繁了都挺慢的,像你这种肯定是作为一条数据比较快, 还有就是可以自己封装一层, 加个缓存, 这样读的时候直接从内存读取能快很多

文件读写放在加载或展示界面,核心战斗逻辑千万不能有读写。有的手机后台进程多的很,你读写的时候他也正好访问磁盘,卡的不要不要的

实在慢的话,建议数据存储交给服务器

嗯,反正现在把100条数据拼接在一起作为一条数据写入,就没问题了。

推荐你用 https://github.com/Tencent/MMKV
原生层使用自定义引擎开发

IO操作向来都是非常耗时的,你一帧内调用100次显然是不佳的做法,后来改成一次写入100条才是正确的做法,也有朋友提到利用缓存延迟存储,这也是个办法,但是有丢数据风险

之前专门做过这种处理,当时就是将那种多次频繁的 io 数据放在一起处理,减少io次数,低端机的io会有明显的改善

是原生的话,你就直接调用原生自己的储存方法就好了,不会卡~这个做法论坛好像有人做过~