启动方式
startActivity(
FlutterActivity
.withNewEngine()
.initialRoute(“/my_route”)
.build(currentActivity)
);
2.3 路由启动示例
flutter/lib/main.dart
默认路由
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: ‘Flutter Demo’,
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(title: ‘Flutter Demo Home Page’),
);
}
}
添加路由页面
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: ‘Flutter Demo’,
theme: ThemeData(
primarySwatch: Colors.blue,
),
routes: <String,WidgetBuilder>{
“/”:(context)=>MyHomePage(title: ‘Flutter Demo Home Page’),
‘/a’:(context)=> MyPage(title:‘Page A’),
‘/b’:(context)=> MyPage(title:‘Page B’)
},
//home: MyHomePage(title: ‘Flutter Demo Home Page’),
);
}
}
class MyPage extends StatelessWidget{
var title;
MyPage({Key? key, required this.title}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text(title),),
body: Center(child: Text(title),)
);
}
}
设置启动
startActivity(FlutterActivity
.withNewEngine()
.initialRoute(“/a”)
.build(this)
)
效果图
3.1 默认启动方式
myButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startActivity(
FlutterActivity.createDefaultIntent(currentActivity)
);
}
});
2.3 缺点
-
启动Flutter模块时,会有明显延迟
-
会有一段时间的白屏
四 使用缓存的FlutterEngine启动FlutterActivity
4.1 说明
-
默认情况下,每个FlutterActivity都会创建自己的FlutterEngine
-
每个FlutterEngine都有预热时间,这意味着在FlutterActivity在可视之前,都会有延迟
-
为了减少延迟,在创建FlutterActivity之前,预先创建FlutterEngine,然后使用预先创建的FlutterEngine
-
要预先创建FlutterEngine,可以在应用程序中找到一个合适的位置来实例化FlutterEngine,一般在Application中完成
4.2 创建FlutterEngine(Application中)
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
最后
由于文章篇幅原因,我只把面试题列了出来,详细的答案,我整理成了一份PDF文档,这份文档还包括了还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 ,帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习。
较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频**
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
[外链图片转存中…(img-0DHP6dLR-1711395632009)]
最后
由于文章篇幅原因,我只把面试题列了出来,详细的答案,我整理成了一份PDF文档,这份文档还包括了还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 ,帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习。
需要的朋友可以私信我【答案】或者点击这里免费领取