Skip to main content
added 191 characters in body
Source Link

if you want load image before init() or don't want a white area while displaying the image when you app launch or your ui render on the screen you can use didChangeDependencies().

You can load your asset image like this. it will load your image fast even before init()

class Demo extends StatefulWidget {
  const Demo({super.key});

  @override
  State<StatefulWidget> createState() {
    return _DemoState();
  }
}

class _DemoState extends State<Demo> {
  // To Preload Image in our App
  @override
  void didChangeDependencies() {
    super.didChangeDependencies();
    final image = Image.asset('assets/splashScreen.jpg');
    precacheImage(image.image, context);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Image.asset(
        'assets/splashScreen.jpg',
        fit: BoxFit.cover,
        width: double.infinity,
        height: double.infinity,
      ),
    );
  }
}

You can load your asset image like this. it will load your image fast even before init()

class Demo extends StatefulWidget {
  const Demo({super.key});

  @override
  State<StatefulWidget> createState() {
    return _DemoState();
  }
}

class _DemoState extends State<Demo> {
  // To Preload Image in our App
  @override
  void didChangeDependencies() {
    super.didChangeDependencies();
    final image = Image.asset('assets/splashScreen.jpg');
    precacheImage(image.image, context);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Image.asset(
        'assets/splashScreen.jpg',
        fit: BoxFit.cover,
        width: double.infinity,
        height: double.infinity,
      ),
    );
  }
}

if you want load image before init() or don't want a white area while displaying the image when you app launch or your ui render on the screen you can use didChangeDependencies().

You can load your asset image like this. it will load your image fast even before init()

class Demo extends StatefulWidget {
  const Demo({super.key});

  @override
  State<StatefulWidget> createState() {
    return _DemoState();
  }
}

class _DemoState extends State<Demo> {
  // To Preload Image in our App
  @override
  void didChangeDependencies() {
    super.didChangeDependencies();
    final image = Image.asset('assets/splashScreen.jpg');
    precacheImage(image.image, context);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Image.asset(
        'assets/splashScreen.jpg',
        fit: BoxFit.cover,
        width: double.infinity,
        height: double.infinity,
      ),
    );
  }
}
Source Link

You can load your asset image like this. it will load your image fast even before init()

class Demo extends StatefulWidget {
  const Demo({super.key});

  @override
  State<StatefulWidget> createState() {
    return _DemoState();
  }
}

class _DemoState extends State<Demo> {
  // To Preload Image in our App
  @override
  void didChangeDependencies() {
    super.didChangeDependencies();
    final image = Image.asset('assets/splashScreen.jpg');
    precacheImage(image.image, context);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Image.asset(
        'assets/splashScreen.jpg',
        fit: BoxFit.cover,
        width: double.infinity,
        height: double.infinity,
      ),
    );
  }
}