Сбои приложения Flutter и остановка фоновых процессов других приложений, когда изображения размером более 3 МБ отображаются в виде сетки или списка. - PullRequest
0 голосов
/ 18 июня 2020

Каждый раз, когда listview.builder или gridview.builder отображает более 5 изображений, размер которых превышает 3 МБ, ie. Разрешение 4k или выше, которые хранятся во внешнем каталоге хранилища приложения, а listview или gridview прокручиваются, экран становится очень медленным (30+ кадров пропускаются, а задержка ввода 900+ мс), после чего приложение вылетает и фоновые процессы тоже остановлены.

Запуск приложения в режиме отладки или полностью собранный релиз apk дает те же результаты на физическом устройстве, на котором запущено Android P ie с snapdragon 845.

Код :

ListView.separated(
                        physics: const AlwaysScrollableScrollPhysics(),
                        separatorBuilder: (context, i) => Divider(),
                        itemCount: results.length,
                        itemBuilder: (context, index) {
                          return ListTile(
                            title: Text(
                              results[index].name,
                            ),
                            subtitle: Text(
                              filesize(results[index].sizeInBytes, 1),
                            ),
                            leading: Image.file(File(results.path,),
                           height:50,
                           width:50,
                           fit:BoxFit.cover),
                            trailing: Text(
                                '${results[index].height} x ${results[index].width}',
                          );
                        },
                      );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...