【问题标题】:How to use RunApp function more efficiently for changing Pages如何更有效地使用 RunApp 功能来更改页面
【发布时间】:2019-09-28 22:02:44
【问题描述】:

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

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

这个是用来叫我登陆的家

import './pages/landing.dart';


void main() {

    runApp(LandingHome(),
    ); 

}

在 Landing.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 可能会在后台运行

【问题讨论】:

    标签: android dart flutter


    【解决方案1】:

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

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

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

    Named Routes Documentation

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

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

    【讨论】:

      猜你喜欢
      • 2019-09-13
      • 2018-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-10
      • 2017-05-31
      • 1970-01-01
      相关资源
      最近更新 更多