易格音乐 (e-cells-music) v1.2.5
🚀 横屏性能优化
1. MutationObserver 节流(Scrollbar.vue)
影响最大的单项优化,预计减少 80%+ 延迟
- 移除
attributes和characterData监听,仅保留childList + subtree - 新增 100ms 节流,批量处理 DOM 结构变化
- 新增
contain: contentCSS containment,隔离滚动区域布局
2. 图片懒加载(Cover.vue)
- 新增
loading="lazy"+decoding="async",延迟加载视口外图片 - 移除
animate-pulse加载动画,消除持续重绘开销 - 精简
transition-all duration-700→transition-opacity duration-200
3. CSS 过渡精简(Sidebar.vue)
- 10 处模板
transition-all→transition-colors/ 属性特定过渡 - 5 处样式
transition-all→具体属性(color、opacity、background-color) - 新增
contain: layout style隔离各列表项布局
4. 自适应渲染(Sidebar.vue + performanceProfile.ts)
- 新建
performanceProfile.ts,检测设备内存 / CPU 核心数 / 主线程响应速度 - GeckoView 环境 ≤8GRAM 自动判定为低性能设备
- 低性能设备:跳过歌单封面图片(用纯色占位符替代)
- Dialog / ImportPlaylistDialog 组件改为
v-if懒挂载,仅在打开时创建 DOM
🎤 写真模式改进
- 无写真图片时也可进入写真模式,使用专辑封面作为背景
- 新增
hasArtistPortraits计算属性,区分写真模式开关与写真数据可用性 - 三层背景分支:
- ✅ 有写真图片 →显示歌手写真
- ✅ 无写真图片 →使用封面图(相同遮罩和样式)
- ⬜ 未开启写真模式 →原有封面模糊背景
- 写真切换器、轮播等功能仍通过
artistPortraitUrls.length > 1保护