#flutter #memory-management
#flutter #управление памятью
Вопрос:
У меня есть кэш данных. Извлечение некоторых данных обходится дорого .. другие данные вполне одноразовые. Данные могут быть довольно большими и могут привести к тому, что ОС попросит приложения освободить память.
В Android есть функция onTrimMemory(), а в IOS — applicationDidReceiveMemoryWarning(). Существует ли эквивалент flutter?
Комментарии:
1. flutter.dev/docs/разработка / интеграция с платформой/…
2. хм .. я скорее надеялся, что в этом не будет необходимости
Ответ №1:
Класс Flutter WidgetsBindingObserver предоставляет метод для обнаружения нехватки памяти, как показано в этой статье.
Комментарии:
1. в следующий раз вам следует расширить свой ответ, а не указывать на внешнюю ссылку без объяснения причин. Спасибо
Ответ №2:
Виджет должен реализовать WidgetsBindingObserver
переопределение и didHaveMemoryPressure
, как в следующем примере:
class _HomePageState extends BaseState<HomePage> with WidgetsBindingObserver {
@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
}
@override
void dispose() {
super.dispose();
WidgetsBinding.instance.removeObserver(this);
}
@override
void didHaveMemoryPressure() {
print('didHaveMemoryPressure');
}
}