fluttercommunity / fluttercommunity/flutter_webview_plugin
unnecessary rebuilds
- Ngôn ngữ chính
- Java
- Star
- 1.5k
- Fork
- 938
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
## System info
Issue occurs on: iOS / Android / both
Plugin version: ^0.3.10+1
Flutter doctor output:
```
[✓] Flutter (Channel unknown, v1.13.5, on Mac OS X 10.15.2 19C57, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 11.3)
[✓] Android Studio (version 3.5)
[✓] VS Code (version 1.41.1)
[✓] Connected device (1 available)
• No issues found!
```
## Steps to Reproduce
1. I notice this when my laptop gets overheated (both CPU and GPU) processing an uncomplicated single-webview (https://news.google.com) test app on Simulator.
2. Dart DevTool performance overlay also shows flutter rebuilds the page all the time every xx ms.
3. The problem is solved by switching to webview_flutter (javascriptMode: JavascriptMode.unrestricted) -- the page doesn't get rendered even when scrolling.
`import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';
import 'package:flutter/material.dart';
void main() => runApp(MyApp1());
class MyApp1 extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: WebviewScaffold(
appBar: AppBar(),
url: "https://news.bing.com",
withJavascript: false,
withZoom: false,
withLocalStorage: false,
),
),
);
}
}`
## Logs
```
```
```
```
```
```
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Bắt đầu với ví dụ Dart tối thiểu sử dụng WebviewScaffold và tái hiện hành vi trên cấu hình simulator được báo cáo. Sử dụng Flutter DevTools performance overlay để kiểm tra các lần rebuild lặp lại và so sánh kết quả với webview_flutter; hoàn tất khi đã xác định và khắc phục hành vi rebuild không cần thiết.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- dart, flutter
- Lĩnh vực
- mobile
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 25/100