@
pi1ot 思路类似,但是实现完全不同
OneTab 内部使用 localstorage 实现的,数据量稍大(几千个 tabGroup )就能轻易引起数据丢失,这种丢失类似操作过程
get_all_localstorage_items -> append_current_tabgroup -> re-set_all_localstorage_items
中间的 append -> re-set 数据的过程,极其容易卡死浏览器线程造成全部数据丢失
因为这个原因我才使用 IndexedDB (这货是基于事务过程实现的)重写了 OneTab 的实现
如果不是故意清理浏览器缓存数据,理论上 IndexedDB 不太可能(个别极端情况下还是有可能的,如浏览器崩溃)丢失数据(当然了,想要完全不丢失数据,只能使用云端同步),我自己高强度使用到现在,一点事情也没有
而且,OneTab 不只是容易丢失数据,其页面渲染也极其慢,尤其当你有过千 tabGroup 那真是卡得要命
以上供参考
PS 尽管结论看起来像是在踩 OneTab 而托举自己的东西,但我完整 debug 过 onetab 的全部实现,我觉得我有理由踩一遍 onetab 不然我也不会自己手搓了个现成的产品,对了,还是在没有 AI 的年代手搓的,可见爱之深恨之切