flutter / flutter/devtools

Incorrect diagnosis of RepaintBoundary usefulness in Widget inspector DevTool

Aperta
#9,186 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
P2 screen: inspector
Lingua principale
Dart
Stelle
1.7k
Fork
404
Merge medio
6g 17h
PR unite (30g)
18

Descrizione

### Description

I was watching [this part](https://youtu.be/PONvNV3u1Wg?si=l0AIiVsPY70pzKP4&t=2201) of a talk at by Craig Labenz where he explains about `RepaintBoundary` and gives an example of where not to use it. Later, he explains how to use the Widget inspector DevTool to diagnose whether a `RepaintBoundary` is useful.

I ran the code snippet and the DevTool says it's useful. That has to be a bug, right?


### Code sample

Code sample

```dart
import 'package:flutter/material.dart';

void main() {
runApp(const MainApp());
}

class MainApp extends StatelessWidget {
const MainApp({super.key});

@override
Widget build(BuildContext context) {
return const MaterialApp(
home: Scaffold(body: Center(child: Body())),
);
}
}

class Body extends StatefulWidget {
const Body({super.key});

@override
State createState() => _BodyState();
}

class _BodyState extends State {
Color color = Colors.red;
@override
Widget build(BuildContext context) {
return SizedBox(
width: 200,
height: 200,
child: GestureDetector(
onTap: () => setState(() {
if (color == Colors.red) {
color = Colors.blue;
} else {
color = Colors.red;
}
}),
child: ColoredBox(
color: color,
child: RepaintBoundary(child: ColoredBox(color: color)),
),
),
);
}
}

```


### DevTool screenshot (see highlighted area):
This is after 10 taps on the tappable widget.

Image

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Start by reproducing the provided Dart sample in the Widget inspector DevTool and inspect the RepaintBoundary usefulness result after ten taps. Done means determining whether the reported diagnosis is incorrect and documenting the observed behavior and expected result.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
dart, flutter
Ambito
devtools
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
30/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.