fix performance issues

This commit is contained in:
otsmr 2026-10-09 17:41:45 +02:00
parent faaab2bd0d
commit adf4fe0ca5
3 changed files with 10 additions and 1 deletions

View file

@ -3,6 +3,8 @@ import "package:avatar_maker/src/core/models/customized_property_category.dart";
import "package:flutter/material.dart";
import "package:flutter_svg/flutter_svg.dart";
import "package:provider/provider.dart";
import "package:vector_graphics/vector_graphics_compat.dart"
show RenderingStrategy;
/// This widget renders the avatar of the user on screen.
///
@ -50,8 +52,10 @@ class AvatarMakerAvatar extends StatelessWidget {
return loader;
}
return SvgPicture.string(
avatarController.drawAvatarSVG(),
avatarController.displayedAvatarSVG,
height: radius * 1.6,
// Reuse the raster while the fixed-size preview scrolls.
renderingStrategy: RenderingStrategy.raster,
semanticsLabel: "Your avatar",
placeholderBuilder: (context) => Center(
child: loader,

View file

@ -3,6 +3,8 @@ import "package:avatar_maker/src/customizer/widgets/customizer_appbar.dart";
import "package:avatar_maker/src/customizer/widgets/customizer_bottom_navbar.dart";
import "package:flutter/material.dart";
import "package:flutter_svg/flutter_svg.dart";
import "package:vector_graphics/vector_graphics_compat.dart"
show RenderingStrategy;
class CustomizerBody extends StatelessWidget {
final AvatarMakerController avatarMakerController;
@ -84,6 +86,8 @@ class CustomizerBody extends StatelessWidget {
avatarMakerController.getComponentSVG(
propertyCategory.id, index),
height: 80,
// Avoid replaying SVG paths on every scroll frame.
renderingStrategy: RenderingStrategy.raster,
semanticsLabel: 'Your AvatarMaker',
placeholderBuilder: (context) => Center(
child: CircularProgressIndicator.adaptive(),

View file

@ -19,6 +19,7 @@ dependencies:
material_symbols_icons: ^4.2874.0
provider: ^6.1.5
shared_preferences: ^2.5.3
vector_graphics: ^1.1.19
dev_dependencies:
analyzer: ^8.1.1
build_runner: ^2.10.1