背景
我们ui大佬要求把五颜六色的卡片换成灰色,就跟哀悼模式类似。
变为
想起以前看的技术文章,什么一键改为哀悼模式,加个filter:grayScale(1),再改改样式,完成。 到此一切看起来没啥问题。
问题
已经开发完成发到测试环境了,ui大佬走查样式,拿着她的iPhone13再看,我看她一进入灰色的页面就卡住了,她没在意,关了又看别的去了。 我在意啊,于是我拿我的iPhone13mini也进去看,每次都卡死了。
调试
按照经验,首先打开vConsole看看报啥错了没,结果卡得vConsole也点不动,刷新都没用,邪门。
然后就猜测是接口返回的数据问题,把接口注释,诶,果然不卡死了,一放开又卡死了。
再猜测是接口数据的问题,于是把各种判空都写上,照旧卡死。
然后一步一步注释代码,看注释到哪里卡死,注释到第四个模块卡死了,锁定位置,再一行行注释。
...(中间省略一千字)
最后总结:卡片数量大于41条就会卡死,小于则不会。快速滑动白屏较多,静态数据加载都慢。
解决
直接filter:grayscale(1)这行注释掉就好了,老老实实加class改颜色。 原因没找到,擦侧这个filter比较耗费性能,加上iOS系统某种限制机制导致卡死。