У меня есть экран воспроизведения музыки, где пролистывание обложки альбома воспроизводит следующий трек. Я использую PageView.builder для заполнения списка треков.
Я включил флаг checkerboardRasterCacheImages и снял скриншот с видео. Вот ссылка: https://streamable.com/1oi6h
Проблема в том, что изображение альбома постоянно кэшируется, что приводит к пропаданию кадров, что приводит к сценам со скоростью менее 60 кадров в секунду.
Я попытался обернуть мой виджет виджетом RepaintBoundary, но он все еще пере кэширует изображения.
Также попробовал убрать размытие фона.
AspectRatio(
aspectRatio: 1.0 / 1.0,
child: Container(
width: media.size.width,
child: PageView.builder(
controller: _pageController,
onPageChanged: (int idx) {
if (idx < _pageController.page)
prev();
else
next();
},
itemCount: widget.playlist.length(),
itemBuilder: (context, index) {
return Padding(
padding: media.padding.add(
EdgeInsets.all(40)),
child: DecoratedBox(
decoration: new BoxDecoration(
image: DecorationImage(
image: widget.playlist
.get(index)
.albumArt,
fit: BoxFit.fill,
),
boxShadow: [
new BoxShadow(
color: Colors.black
.withOpacity(
0.5),
offset: new Offset(2.0, 2.0),
blurRadius: 5.0,
spreadRadius: 5.0)
]
),
),
);
}),
),
),
Я ожидаю, так как это статическое изображение, оно не должно повторно кэшировать каждый кадр. Кроме того, это мое первое приложение и первая публикация здесь, поэтому, если вам нужна дополнительная информация / код, пожалуйста, не стесняйтесь спрашивать, что нужно.
Спасибо.