Skip to content

Conversation

@yaoyaozijing
Copy link
Contributor

  1. 对桌面端使用固定的缓存尺寸,以避免调整窗口大小时反复重载番剧封面导致的闪烁感。而对移动端保留原有内存优化法
  2. 优化推荐、追番页列数计算方法,超过Compact宽度后,宽度每增加200时增加一列,以在超宽窗口中显示更多内容。

@Predidit
Copy link
Owner

我个人不是很喜欢这个实现,它浪费了内存并且破坏了跨平台一致性

@yaoyaozijing
Copy link
Contributor Author

更换了新写法,各平台保持一致、同时节约了内存。

@Predidit
Copy link
Owner

新的写法似乎没有解决闪烁,组件树仍然会完全重建

@yaoyaozijing
Copy link
Contributor Author

@Predidit 切换底栏/侧栏时的组件树重建问题已修复

@Predidit
Copy link
Owner

抱歉,我今天有些忙,我会在明天进行 CR

@Predidit
Copy link
Owner

Predidit commented Jan 1, 2026

我有些没有明白我们将 networkimagelayer 转换为有状态组件的作用是什么

按照 flutter 最佳实践,应尽量使用无状态组件,它们的性能更好

@yaoyaozijing
Copy link
Contributor Author

是为了解决这个问题:窗口宽度调整会带动番剧封面尺寸变化,这会导致目标缓存尺寸变化,触发封面重新缓存,造成抖动。
我加了这样一个判断:if (memCacheWidth == null && memCacheHeight == null)来判断之前有无缓存,若有缓存就维持其尺寸不变,避免后续的缓存更新。而判断之前有无缓存需要使用有状态组件。
否则就要放弃节省内存的写法,改为写成不变的宽高。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants