Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

条漫模式下漫画模糊问题优化 #134

Closed
wants to merge 9 commits into from
Closed

条漫模式下漫画模糊问题优化 #134

wants to merge 9 commits into from

Conversation

raoxiongwen
Copy link
Contributor

模糊问题可能是CachedImage组件造成的,用FastImage替换了CachedImage,但貌似FastImage也有段时间没维护了。

@raoxiongwen
Copy link
Contributor Author

我是不是提交错了,怎么之前合并了的提交也出现了

@youniaogu
Copy link
Owner

因为上次合并我用的是 squash merge,合并后你没从 master 最新分支 fork 出去,所以带上了之前的 commit 信息

@youniaogu
Copy link
Owner

不能这么简单粗暴用 FastImage 替换掉 CachedImage,因为他们两个的缓存系统是不互通的,这么替换的话相当于在本地存两份图片
可以去 CachedImage 源码里看下,说不定有突破的点

@raoxiongwen
Copy link
Contributor Author

不能这么简单粗暴用 FastImage 替换掉 CachedImage,因为他们两个的缓存系统是不互通的,这么替换的话相当于在本地存两份图片 可以去 CachedImage 源码里看下,说不定有突破的点

好,我去看看,最开始我是想用FastImage上自带的onLoad,onLoadStart来替换掉CacheManager的工作,但是onLoad事件不知什么原因返回的图片宽高一直不准确,不得以放弃了

@raoxiongwen
Copy link
Contributor Author

看了下源码,CachedImage组件是基于原生RN的Image组件实现的,这也应该是它大图模糊的原因。我使用原生Image组件替换测试,表现效果是一致的,也是模糊。感觉这是硬伤。最后使用的是FastImage完全替换了CachedImage组件,包括它的缓存,FastImage在android上onLoad事件会返回错误的宽高,在issues里找到了一个绕了一下的解决办法

@youniaogu
Copy link
Owner

这个问题之前遇到过,在 jmc base64 图片模式下也是用 fastImage 去解决的

// https://github.com/facebook/react-native/issues/21301
// https://github.com/facebook/fresco/issues/2397
// https://github.com/facebook/react-native/issues/32411
return (
<FastImage
style={style}
resizeMode={resizeModeDict[layoutMode]}
source={{ uri: imageState.dataUrl }}
/>
);

不过我刚翻了下上面的 issues,似乎 closed 了,有人提 PR 解决了这个问题(3 月 9 merged 到主分支了),详细可以看下面的 link

facebook/fresco#2760
facebook/fresco@0d78d83
facebook/fresco#2397 (comment)

所以可以等一下 RN 更新,升级版本后就可以解决了

@youniaogu
Copy link
Owner

等后面有时间我会去升级整个 RN 的版本,这个 PR 先 close 了,非常感谢你的贡献

@youniaogu youniaogu closed this Apr 10, 2024
@raoxiongwen
Copy link
Contributor Author

好的,还是刚知道RN的Image组件一直在优化来着。😆

@youniaogu
Copy link
Owner

这个是一个路人提的 PR,他一直在跟,官方是有点摆烂的味道,哈哈哈哈

@youniaogu
Copy link
Owner

facebook/react-native#45078
最近收到邮件,这个问题正式反馈到 RN 的 PR 上了,乐观点下个版本就可以解决了

@raoxiongwen
Copy link
Contributor Author

facebook/react-native#45078 最近收到邮件,这个问题正式反馈到 RN 的 PR 上了,乐观点下个版本就可以解决了

0.57版本的问题,到现在终于看到希望了,o(╥﹏╥)o

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