首页 > 解决方案 > 如何更有效地使用 RunApp 功能来更改页面

问题描述

我正在创建一个登陆屏幕加载五秒钟的 Android 应用程序。我正在使用 RunApp 函数调用登陆页面,登陆页面将在五秒后调用主页应用程序。这是进行此类工作的有效方法吗?

我尝试使用导航功能,但是当我按下后退按钮时,它返回到登录页面。

这个是用来叫我登陆家的

import './pages/landing.dart';


void main() {

    runApp(LandingHome(),
    ); 

}

登陆.dart

import 'package:neptools/pages/homepage.dart';


class LandingHome extends StatefulWidget{
 @override
_LandingHomeState createState() => _LandingHomeState();
}

class _LandingHomeState extends State<LandingHome>{
  @override
  void initState(){
    super.initState();
    Timer(Duration(seconds:5),() => runApp(HomePage()), );
  }

Rest 是 Landing Home 的 UI 元素

@override
  Widget build(BuildContext context) {
    return  MaterialApp(
      home: Scaffold(
//Other UI Elements

一切正常。我想知道这种方法的效率如何。我认为这会消耗更多内存,因为应用程序登陆Home 可能会在后台运行

标签: androiddartflutter

解决方案


我认为最好创建命名路由,而不是再次调用您的根函数。

在 5 秒延迟后,您可以推送到特定的命名路线。

这使您的根函数只执行一次并且不易出错

命名路由文档

您可以使用包让您的生活更轻松创建命名 路线

另外,您为什么要这样做?您的应用程序还有一个启动画面,它会一直显示,直到所需的资源加载到内存中,它的速度取决于硬件。在低端设备中,假设启动应用程序后用户等待 3 秒 + 5 秒 = 8 秒。我不认为这是一个好主意。你应该尽量避免它。


推荐阅读