image cache patch

Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
dom
2026-05-11 12:51:45 +08:00
parent 32eeef7866
commit 459f84b208
48 changed files with 260 additions and 143 deletions

View File

@@ -1,7 +1,6 @@
import 'package:PiliPlus/common/assets.dart';
import 'package:PiliPlus/common/style.dart';
import 'package:PiliPlus/models/common/image_type.dart';
import 'package:PiliPlus/utils/extension/num_ext.dart';
import 'package:PiliPlus/utils/image_utils.dart';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
@@ -60,11 +59,11 @@ class NetworkImgLayer extends StatelessWidget {
required bool isEmote,
required bool isAvatar,
}) {
int? memCacheWidth, memCacheHeight;
double? memCacheWidth, memCacheHeight;
if (cacheWidth ?? width <= height) {
memCacheWidth = width.cacheSize(context);
memCacheWidth = width;
} else {
memCacheHeight = height.cacheSize(context);
memCacheHeight = height;
}
return CachedNetworkImage(
imageUrl: ImageUtils.thumbnailUrl(
@@ -112,7 +111,7 @@ class NetworkImgLayer extends StatelessWidget {
isAvatar ? Assets.avatarPlaceHolder : Assets.loading,
width: width,
height: height,
cacheWidth: width.cacheSize(context),
cacheWidth: width,
),
),
);

View File

@@ -24,7 +24,6 @@ import 'package:PiliPlus/common/widgets/image/network_img_layer.dart';
import 'package:PiliPlus/common/widgets/image_grid/image_grid_builder.dart';
import 'package:PiliPlus/models/common/image_preview_type.dart';
import 'package:PiliPlus/utils/extension/context_ext.dart';
import 'package:PiliPlus/utils/extension/num_ext.dart';
import 'package:PiliPlus/utils/extension/size_ext.dart';
import 'package:PiliPlus/utils/image_utils.dart';
import 'package:PiliPlus/utils/page_utils.dart';
@@ -215,7 +214,7 @@ class ImageGridView extends StatelessWidget {
Assets.loading,
width: width,
height: height,
cacheWidth: width.cacheSize(context),
cacheWidth: width,
),
);
return List.generate(picArr.length, (index) {

View File

@@ -400,7 +400,7 @@ class _GalleryViewerState extends State<GalleryViewer>
child = Image(
key: _key,
image: ResizeImage.resizeIfNeeded(
_containerSize.width.cacheSize(context),
_containerSize.width,
null,
CachedNetworkImageProvider(_getActualUrl(item.url)),
),
@@ -420,7 +420,7 @@ class _GalleryViewerState extends State<GalleryViewer>
} else {
return Image(
image: ResizeImage.resizeIfNeeded(
_containerSize.width.cacheSize(context),
_containerSize.width,
null,
CachedNetworkImageProvider(
ImageUtils.thumbnailUrl(

View File

@@ -4,7 +4,6 @@ import 'package:PiliPlus/common/widgets/extra_hittest_stack.dart';
import 'package:PiliPlus/common/widgets/image/network_img_layer.dart';
import 'package:PiliPlus/models/common/avatar_badge_type.dart';
import 'package:PiliPlus/models/common/image_type.dart';
import 'package:PiliPlus/utils/extension/num_ext.dart';
import 'package:PiliPlus/utils/page_utils.dart';
import 'package:flutter/material.dart';
@@ -143,7 +142,7 @@ class PendantAvatar extends StatelessWidget {
Assets.vipIcon,
width: badgeSize,
height: badgeSize,
cacheWidth: badgeSize.cacheSize(context),
cacheWidth: badgeSize,
semanticLabel: badgeType.desc,
),
_ => Icon(