Flutter - изменяет размер больших файлов изображений, прежде чем показывать их в GridView. - PullRequest
0 голосов
/ 21 октября 2019

Я извлекаю список изображений пользователя из внешнего хранилища и показываю их в виде списка, когда дело касается больших файлов, пользовательский интерфейс становится слишком медленным и иногда зависает на несколько секунд. Как я могу изменить их размер, прежде чем показывать их в GridView эффективно?

@override
  Widget build(BuildContext context) {
    return GridView.builder(
        gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
            crossAxisCount: 4,
            childAspectRatio: 1 / 1,
            crossAxisSpacing: 2.0,
            mainAxisSpacing: 2.0),
        itemCount: data?.length ?? 0,
        itemBuilder: (context, index) {
          return FutureBuilder<Uint8List>(
            future: File(data[index].path).readAsBytes(),
            builder: (context, snapshot) {
              print('$index : ${data[index]}');
              return Container(
                decoration: BoxDecoration(color: Colors.grey[300]),
                child: snapshot.data != null && snapshot.error == null
                    ? GalleryItemView(snapshot.data)
                    : null,
              );
            },
          );
        });
  }
...