Commit 474c2c7d authored by Adam Barth's avatar Adam Barth Committed by GitHub

Switch complex_layout back to LazyBlock (#7940)

We need to study these benchmark numbers more carefully. See #7937
parent e01470a8
...@@ -52,6 +52,24 @@ class ComplexLayout extends StatefulWidget { ...@@ -52,6 +52,24 @@ class ComplexLayout extends StatefulWidget {
static ComplexLayoutState of(BuildContext context) => context.ancestorStateOfType(const TypeMatcher<ComplexLayoutState>()); static ComplexLayoutState of(BuildContext context) => context.ancestorStateOfType(const TypeMatcher<ComplexLayoutState>());
} }
class FancyItemDelegate extends LazyBlockDelegate {
@override
Widget buildItem(BuildContext context, int index) {
if (index % 2 == 0)
return new FancyImageItem(index, key: new ValueKey<int>(index));
else
return new FancyGalleryItem(index, key: new ValueKey<int>(index));
}
@override
bool shouldRebuild(FancyItemDelegate oldDelegate) => false;
@override
double estimateTotalExtent(int firstIndex, int lastIndex, double minOffset, double firstStartOffset, double lastEndOffset) {
return double.INFINITY;
}
}
class ComplexLayoutState extends State<ComplexLayout> { class ComplexLayoutState extends State<ComplexLayout> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
...@@ -73,15 +91,10 @@ class ComplexLayoutState extends State<ComplexLayout> { ...@@ -73,15 +91,10 @@ class ComplexLayoutState extends State<ComplexLayout> {
body: new Column( body: new Column(
children: <Widget>[ children: <Widget>[
new Expanded( new Expanded(
child: new ListView.builder( child: new LazyBlock(
key: new Key('main-scroll'), // this key is used by the driver test key: new Key('main-scroll'), // this key is used by the driver test
itemBuilder: (BuildContext context, int index) { delegate: new FancyItemDelegate(),
if (index % 2 == 0) )
return new FancyImageItem(index, key: new ValueKey<int>(index));
else
return new FancyGalleryItem(index, key: new ValueKey<int>(index));
},
),
), ),
new BottomBar(), new BottomBar(),
], ],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment