Флаттер: Как эффективно загружать изображения с локального устройства?

Я хочу отображать локально сохраненные изображения (пользователь выбирает их из своей галереи) в ListView как виджет карты.

Некоторые, как загрузка действительно медленно. Кто-нибудь знает, как это ускорить?

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

ListView с компоновщиком

@override
Widget build(BuildContext context) {
  return Scaffold(
    appBar: AppBar(title: Text(widget.title)),
    body: ListView.builder(
      itemCount: _imgList.length,
      itemBuilder: _buildItem,
    ),
  );
}

Impl. _biuldItem

Widget _buildItem(BuildContext context, int position) {
  return Card(
    elevation: 10,
    child: Container(
      height: 250,
      padding: EdgeInsets.all(10),
      child: FadeInImage(
        placeholder: MemoryImage(kTransparentImage),
        image: FileImage(
          File(_imgList[position]),
        ),
      )
    )
  );
}

Здесь вы можете найти простое демо-приложение на Github. Заранее спасибо!

0 ответов

Другие вопросы по тегам