heavy_grid_view.dart 897 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'package:flutter/material.dart';

class HeavyGridViewPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GridView.builder(
      itemCount: 1000,
      gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 3),
      itemBuilder: (BuildContext context, int index) => HeavyWidget(index),
    ).build(context);
  }
}

class HeavyWidget extends StatelessWidget {
  HeavyWidget(this.index) : super(key: ValueKey<int>(index));

  final int index;
  final List<int> _weight = List<int>(1000000);

  @override
  Widget build(BuildContext context) {
    return SizedBox(
      width: 200,
      height: 200,
      child: Text('$index: ${_weight.length}'),
    );
  }
}