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

不断改变webview视图的大小后闪退 #136

Open
JemmyWang94 opened this issue Aug 13, 2024 · 14 comments
Open

不断改变webview视图的大小后闪退 #136

JemmyWang94 opened this issue Aug 13, 2024 · 14 comments

Comments

@JemmyWang94
Copy link

写了一个拖动事件,在Container边缘加了panGesture,不断地拖动改变webview视图的大小(webview在指定大小的容器中),拖动多次后应用闪退。

@JemmyWang94
Copy link
Author

试了下使用https://pub.dev/packages/webview_windows没出现此问题

@SinyimZhi
Copy link
Collaborator

只有疯狂拖动时复现了,看了下堆栈crash在flutter_windows底层代码里,和Texture的渲染部分有关。大概率是因为从cef拿到渲染数据后交给flutter的texture做渲染这部分内存管理有问题。这个内存管理我们是交给flutter处理的,有一个渲染之后的buffer释放回调。
image
这块我们可能不太好处理,毕竟和webview_windows的技术路线不一样,我们是内嵌页面到窗口部分,窗口是由flutter engine去处理的,而不是提供一个独立的浏览器窗口。

@JemmyWang94
Copy link
Author

好吧,谢谢,有时候也不用疯狂拖动,跑你的demo试了下。有时候轻轻拖几下就给闪退了。有拖动功能问题的话确实不好整。

@SinyimZhi
Copy link
Collaborator

轻轻拖几下就闪退我没复现,方便提供下flutter版本和操作系统版本吗?

@JemmyWang94
Copy link
Author

flutter 3.24.0. Windows 10 专业版 系统内部版本 19045.4651

@JemmyWang94
Copy link
Author

0837C28424642A9994AA3B249AF0A5A9.mp4

刚切换flutter 3.22.3也试了,结果这次拖一次就卡死然后闪退了

@SinyimZhi
Copy link
Collaborator

做这个的时候是基于3.16版本做的,去年年底的大版本更新windows引擎就有很大的变动,看来需要花点时间做新版本适配了...

@JemmyWang94
Copy link
Author

我想再请教个问题,就是不断拖动的时候为什么里面的页面会像弹簧一样改变大小然后复原。webview_windows也是如此。但在浏览器里面放大缩小就是保持固定的。

@SinyimZhi
Copy link
Collaborator

我怀疑可能时窗口大小在dart侧和c++侧的精度不同导致的,具体的还没验证过。至于webview_windows我没有用过就不太清楚了。

@hlwhl
Copy link
Owner

hlwhl commented Aug 20, 2024

我想再请教个问题,就是不断拖动的时候为什么里面的页面会像弹簧一样改变大小然后复原。webview_windows也是如此。但在浏览器里面放大缩小就是保持固定的。

因为webview画面大小是flutter侧传给native的,在拖动时仍然会不停的告诉native webview页面大小改变。浏览器应该是对dragging状态做了处理,dragging事件整体结束后结束后再通知renderer改变渲染大小。chromium在windows上快速拖动时也会有网页渲染画面与窗口尺寸不匹配的情况

@JemmyWang94
Copy link
Author

想问下,这个闪退问题有在看吗,想用你们的组件,但有这个问题的话又用不了

@SinyimZhi
Copy link
Collaborator

我近期会抽时间看下

@SinyimZhi
Copy link
Collaborator

我在flutter 3.24.2无法复现这个问题了,Windows 11 22631.4037.

2024-09-05.18-24-45.mp4

@JemmyWang94
Copy link
Author

JemmyWang94 commented Sep 6, 2024

Flutter3.24.2的更新好像只是为了解决flutter/flutter#116493 。我试了下还是会触发的。
https://github.com/user-attachments/assets/748c5cf0-abd6-43d8-9a22-3d01b7b199d1

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

No branches or pull requests

3 participants