Flutter应用如何接收低内存通知?

3

我有一个数据缓存。获取某些数据很昂贵,其他数据则相当容易被舍弃。这些数据可以相当大,可能会导致操作系统要求应用程序释放内存。

Android有onTrimMemory()方法,IOS有applicationDidReceiveMemoryWarning()方法。Flutter有相应的方法吗?


https://flutter.dev/docs/development/platform-integration/platform-channels - user14631430
嗯...我本来希望这不是必要的。 - B. Whipple
2个回答

3
小部件必须实现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');
  }

}

1
Flutter WidgetsBindingObserver类提供了一种检测低内存的方法,如this article所示。

2
下次您应该扩展您的回答,而不是只指向一个没有解释的外部链接。谢谢。 - Alberto M

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接