Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
945 of 1024 menu
◀ ▶

Метод didHaveMemoryPressure

Метод didHaveMemoryPressure миксина WidgetsBindingObserver вызывают, когда операционная система просит освободить память. В ответ отпускают кэши картинок и другие тяжёлые данные.

Синтаксис

void didHaveMemoryPressure()()

Пример

Давайте очистим кеш по сигналу:

import 'package:flutter/material.dart'; void main() => runApp(MaterialApp(home: Scaffold(body: Center(child: ObsDemo())))); class ObsDemo extends StatefulWidget { const ObsDemo({super.key}); @override State<ObsDemo> createState() => _ObsDemoState(); } class _ObsDemoState extends State<ObsDemo> with WidgetsBindingObserver { String label = 'abcde'; @override void initState() { super.initState(); WidgetsBinding.instance.addObserver(this); } @override void dispose() { WidgetsBinding.instance.removeObserver(this); super.dispose(); } @override void didHaveMemoryPressure() { setState(() => label = '12345'); } @override Widget build(BuildContext c) => Text(label); }

На экране текст сменится по событию.

Пример

Давайте покажем флаг на экране:

import 'package:flutter/material.dart'; void main() => runApp(MaterialApp(home: Scaffold(body: Center(child: Text('abcde')))));

На экране текст 'abcde'.

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить