feat(app): P0 batch 1 — photo viewer zoom, camera lifecycle, image memory management
P0-2 查看器缩放:InteractiveViewer(5x max,放大后平移,1x 时穿透到 PageView 滑动切页) P0-3 相机后台释放:WidgetsBindingObserver——paused 时 dispose(省电+ 隐私指示灯),resumed 时重开(沿用前后摄/闪光灯偏好) P0-6 图片内存管理:PhotoThumbnail 加 maxCacheWidth 参数——网格/列表 缩略图限制解码宽度(600/400px),查看器大图不限 397/397 全绿、analyze 0 Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -380,7 +380,11 @@ class _AlbumDetailPageState extends ConsumerState<AlbumDetailPage> {
|
||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||
children: [
|
||||
// 封面:全宽 16:9(无封面同尺寸中性占位)。
|
||||
PhotoThumbnail(url: album.cover?.url, aspectRatio: 16 / 9),
|
||||
PhotoThumbnail(
|
||||
url: album.cover?.url,
|
||||
aspectRatio: 16 / 9,
|
||||
maxCacheWidth: 600,
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.fromLTRB(
|
||||
kSpace16,
|
||||
@@ -761,6 +765,7 @@ class _RecentPhotosSection extends StatelessWidget {
|
||||
itemBuilder: (context, index) => PhotoThumbnail(
|
||||
url: photos[index].preview?.thumb.url,
|
||||
aspectRatio: 1,
|
||||
maxCacheWidth: 400,
|
||||
),
|
||||
),
|
||||
] else
|
||||
|
||||
Reference in New Issue
Block a user