这几天发帖想发emoji,点击咱们论坛emoji的功能发现加载有亿点慢。
1,目前现状
- 百张图片同时加载:看了一下加载方式,是点击emoji按钮后,所有emoji同时请求服务器进行加载。一张emoji图片的加载也要100 ~ 200ms,所以导致emoji加载有点慢。
- no-cache:没有做缓存,关闭富文本table再次打开,点击emoji表情又重新请求了

2,会导致的问题
- 性能问题:emoji图片加载可能导致其他功能的阻塞,emoji功能很慢
- 带宽浪费:每次点击都会重新请求图片
- CDN成本:流量+不停的回源请求
3,优化方案
- 浏览器缓存:header里面做一下缓存控制,不要每次点击都加载emoji了
- 图片压缩:emoji的图片其实可以不用这么大,1kb也太大了,可以用一些简单的算法进行压缩,图片格式可以转webp
- 精灵图:将所有emoji合并为一张精灵图,通过定位的方式去展示emoji