android - PageView.builder 不断重新缓存静态图像
问题描述
我有一个音乐播放屏幕,在专辑封面上滑动会播放下一首曲目。我正在使用 PageView.builder 来填充曲目列表。
我启用了 checkerboardRasterCacheImages 标志并截屏了一个视频。这是链接:https ://streamable.com/1oi6h
问题是专辑图像不断被重新缓存,这会导致丢帧,从而导致低于 60 fps 的场景。
我尝试用 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)
]
),
),
);
}),
),
),
我期待,因为它是一个静态图像,它不应该重新缓存每一帧。此外,这是我的第一个应用程序,也是第一次在这里发布,所以如果需要更多信息/代码,请不要犹豫,询问需要什么。谢谢。
解决方案
推荐阅读
- sampling - 在 mlr 中将 Multi Class Wrapper 与 Sampling Wrapper 相结合以获得子问题特定的采样
- file - 我可以通过 fortran 中的匹配列连接两个文件吗?
- javascript - React Leaflet 弹出窗口在移动设备上不起作用
- prometheus - Prometheus:在没有 Prometheus 客户端库的情况下抓取“裸机”目标
- facebook-graph-api - Making an instagram post on user's behalf
- javascript - How to add Rich Text Editor input in React?
- c# - Is it a good strategy to return data list from a method (API) without ID and later bind this data list to main list by array Index ID?
- javascript - How to highlight specific words in contenteditable div in html
- android - Firebase realtime database is not connecting
- c# - C#中删除文件夹