是否有可能将大量数据写入localStorage或DOM而不阻塞动画之类的东西

Is it possible to write a large chunk of data to localStorage or the DOM without blocking things like animated gifs?

本文关键字:动画 DOM 有可能 数据 localStorage 是否      更新时间:2023-09-26

当我使用PhoneGap编写应用程序并下载相当大的数据块以存储离线使用(~4kb)时,我注意到,如果有一个动画gif可见(例如jQueryMobile加载gif),那么当数据被写入LocalStorage时,它会停止动画。(也许这种情况更多的是关于向LocalStorage写入的绝对数量,而不是关于记录的总大小?)

将大块HTML添加到DOM中也是如此。如果我渲染一个HandlebarsJS模板,大约100个<li>或其他东西,然后将其注入DOM(似乎是最佳实践),页面滚动和动画gif只是停止运行,直到追加完成。

从用户的角度来看,它看起来好像应用程序已经锁定了几秒钟(在某种意义上它已经……),并且有杀死它的诱惑;即使它还在工作

我能做些什么来防止这种行为吗?我甚至愿意牺牲一点实际性能,因为它可以提高感知性能…

分块。做一些测试,看看在不影响"普通"pc上的动画的情况下,你可以一次写多少,并将你的写入限制在这个数量。只需追加多次或在LocalStorage的情况下写入连续的键。