Flutter在Android Studio上创建项目与构建模式

一、安装插件

    1、前提条件,安装配置好Android Studio环境

    2、安装Flutter和Dart插件

        Linux或者Windows平台:

1)、打开File > Settings。

2)、在左侧列表中,选择"Plugins"右侧上方面板选中 "Marketplace"

在搜索框中输入“flutter”,选择Flutter插件,点击“Install”安装。

3)、提示安装时点击确认。如果提示同时安装 Dart 插件也点击确认。

4)、当弹出重新启动提示时,点击 Restart
 

二、创建Flutter工程

1、在IDE中,点击File > New > Project 中的 New Flutter Project

2、在菜单左侧中选择“Flutter”项,右侧要在“Flutter SDK path”项选择flutter sdk的路径,点击 “Next”。

3.、输入你的 Project nameDescription 和 Project location,点击“Create”开始创建应能用。

4、点击“finnish”等待工程编译。

三、Flutter的构建模式选择
    Flutter支持三种模式(debug、profile、release)编译app,也支持使用headless模式来测试。
  1、 我们什么时候应该使用哪种模式呢?
  • 开发过程中,需要使用热重载功能,请选择debug构建模式。
  • 当你需要分析性能的时候,选择使用profile构建模式。
  • 发布应用的时候,需要选择使用release构建模式。
2、调试模式(debug)
    在debug模式下,app可以被安装在物理设备、仿真器、模拟器等上进行调试。
    使用 debug模式意味着:
  •   断点是开启的  
  • 服务扩展是开启的。
  • 针对快速开发和运行周期进行了编译优化。
  • 调试开启,类似开发者工具等调试工具可以连接到进程里。

    在 Web 平台下的调试模式意味着:

  • 本次构建 没有 最小化资源并且整个构建 没有 优化性能。
  • 为了简化调试,这个 Web 应用使用了 dartdevc 编译器。
    默认情况下,运行 flutter run 会使用debug模式。
提示:
  • 热重载功能仅能在调试模式下运行。
  • 仿真器模拟器仅能在调试模式下运行。
  • 在调试模式下,应用的性能可能会掉帧或者卡顿,profile模式下会更接近真机。
2、Release模式
    当你想要最大的优化以及最小的占用空间时,就使用 Release 模式来部署 app 
    release 模式是不支持模拟器或者仿真器的。
    使用 Release 模式意味着:
  • 断点是不可用的
  • 调试信息是不可见的
  • 调试是禁用
  • 编译针对快速启动,快速执行和小的package的大小进行优化。
  • 服务扩展是禁用的。

    在 Web 平台的 Release 模式意味着:

  • 这次构建资源已经被压缩,并且性能得以优化。
  • 这个 Web 应用通过 dart2js 编译器构建,以确保更优秀的性能。
    
    flutter run --release命令会使用Release模式来进行编译的。
    你也可以使用 flutter build <target> 针对特定目标编译Release模式,请使用 flutter help build 查看支持的目标列表
    你也可以通过 flutter build --release 命令来使用release模式。
    你也可以运用 flutter build 命令使用Releasae模式来编译。
3、Profile模式
    在profile模式下,一些调试功能是被保留的,足够用来分析app性能。在仿真器与模拟器上,profile模式是不可用的,因为它们的行为不代表真实的性能。
    profile模式与release模式相似,但有以下不同:
  • 一些服务扩展是启用的。
  • Tracing是启用的,一些调试工具 ,比如开发者工具可以连接到进程里。

    在 Web 平台的 Profile 模式意味着:

  • 资源文件没有被压缩,但是整体性能已经优化。
  • 这个 Web 应用通过 dart2js 编译器构建。
  • DevTool 无法连接至以性能模式运行的 Flutter Web 应用。你需要用 Chrome 的 DevTools 来为 Web 应用生成时间线事件。
    flutter run --profile 命令是使用Profile模式来编译的。
    提示:
    可以使用 开发者工具 来测试应用的性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/242127.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis - 做缓存时高并发问题:缓存穿透、击穿、雪崩,数据库缓存双写不一致

缓存穿透 当用户访问的数据既不在缓存也不在数据库中时&#xff0c;就会导致每个用户查询都会“穿透” 缓存“直抵”数据库。这种情况就称为缓存穿透。当高度发的访问请求到达时&#xff0c;缓存穿透不 仅增加了响应时间&#xff0c;而且还会引发对 DBMS 的高并发查询&…

Python + Appium 自动化操作微信入门看这一篇就够了!

简介 Appium 是一个开源的自动化测试工具&#xff0c;支持 Android、iOS 平台上的原生应用&#xff0c;支持 Java、Python、PHP 等多种语言。 Appium 封装了 Selenium&#xff0c;能够为用户提供所有常见的 JSON 格式的 Selenium 命令以及额外的移动设备相关的控制命令&#x…

K8S(五)—命名空间与资源配额

目录 命名空间(Namespace)命令计算资源配额创建命名空间绑定一个ResourceQuota资源将命名空间和资源限制对象进行绑定尝试创建第二个 Pod查看ResourceQuota 绑定第二个ResourceQuota为命名空间配置默认的 CPU 、memory请求和限制&#xff08;1&#xff09;Pod 中所有容器都没有…

【C++进阶篇】二叉搜索数

目录 前言&#xff1a; 以后我们要学map&#xff0c;set&#xff0c;AVL&#xff0c;红黑数所以必须要有二叉搜索数做铺垫 1、二叉搜索树概念 2.二叉搜索树操作 1.二叉搜索树的查找 a、从根开始比较&#xff0c;查找&#xff0c;比根大则往右边走查找&#xff0c;比根小则…

感知机(perceptron)

一、感知机 1、相关概念介绍 感知机&#xff08;perceptron&#xff09;是二分类的线性分类模型&#xff0c;属于监督学习算法。输入为实例的特征向量&#xff0c;输出为实例的类别&#xff08;取1和-1&#xff09;。 2、&#xff08;单层&#xff09;感知机存在的问题 感知机…

上课犯困怎么办

我们小时候都有过这样的经历&#xff1a;在课堂上&#xff0c;突然感到困倦&#xff0c;无法集中精力听讲。这不仅影响了学习效果&#xff0c;还可能错过重要的知识点。那么&#xff0c;上课犯困怎么办呢&#xff1f;下面就给大家提供几点建议。 保证充足的睡眠 保证充足的睡眠…

节流防抖:提升前端性能的秘密武器(上)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

【音视频 | H.264】H.264编码详解

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

VMware安装ContOS 7 提示“客户机操作系统已禁用 CPU。请关闭或重置虚拟机。”

目录 实验环境报错截图报错原因猜测&#xff08;根据实验现象&#xff09;解决办法如下 实验环境 Vmware Workstation 17.5 CentOS7 镜像版本&#xff1a;2207-02版本 注意&#xff1a;2009版本并无该错误 报错截图 报错原因猜测&#xff08;根据实验现象&#xff09; CentO…

MIT6.824-Raft笔记6:不一致log处理、日志快照

本部分主要是关于不一致的日志是怎么决策和取舍的。同时对于日志的恢复&#xff0c;通过快照的方式提高恢复的效率。 1. 不一致log的处理 在我们分析之前&#xff0c;我们需要明白这个场景是否真的存在&#xff0c;因为有些场景不可能存在我们也就没必要考虑它。即需要思考这种…

使用PM2,在生产环境稳定运行你的node项目

PM2 一个 node&#xff0c;本身就用几行代码&#xff0c;就可以启动个 server 进程&#xff0c;监听个端口&#xff0c;为大家提供 Web 服务 一、依赖安装 npm install pm2 -g 二、命令行启动 普通执行启动 pm2 start <js 文件路径 >.js 携带参数启动 pm2 start < 某种…

k8s debug 浅谈

一 k8s debug 浅谈 说明&#xff1a; 本文只是基于对kubectl debug浅显认识总结的知识点,后续实际使用再补充案例 Kubernetes 官方出品调试工具上手指南(无需安装&#xff0c;开箱即用) debug-application 简化 Pod 故障诊断: kubectl-debug 介绍 1.18 版本之前需要自己…

什么是主动学习(Active Learning)?定义,原理,以及主要方法

数据是训练任何机器学习模型的关键。但是&#xff0c;对于研究人工智能的企业和团队而言&#xff0c;数据仍是实现成功的最大障碍之一。首先&#xff0c;您需要大量数据来创建高性能模型。更重要的是&#xff0c;您需要标注准确的数据。虽然许多团队一开始都是手动标注数据集&a…

使用 Taro 开发鸿蒙原生应用 —— 当 Taro 遇到纯血鸿蒙 | 京东云技术团队

纯血鸿蒙即将到来 在今年 8 月的「2023年华为开发者大会&#xff08;HDC.Together&#xff09;」上&#xff0c;华为正式官宣「鸿蒙Next」&#xff0c;这个更新的版本将移除所有的 AOSP 代码&#xff0c;彻底与 Android 切割&#xff0c;使其成为一个完全自主研发的操作系统&a…

JAVA实体类集合该如何去重?

JAVA实体类集合该如何去重&#xff1f; 最近在工作中经常遇到需要去重的需求&#xff0c;所以特意系统的来梳理一下 有目录&#xff0c;不迷路 JAVA实体类集合该如何去重&#xff1f;单元素去重方法一&#xff1a;利用Set去重方法二&#xff1a;利用java 8的stream写法&#xf…

预测性维护对制造企业设备管理的作用

制造企业设备管理和维护对于生产效率和成本控制至关重要。然而&#xff0c;传统的维护方法往往无法准确预测设备故障&#xff0c;导致生产中断和高额维修费用。为了应对这一挑战&#xff0c;越来越多的制造企业开始采用预测性维护技术。 预测性维护是通过传感器数据、机器学习和…

【教3妹学编程-算法题】消除相邻近似相等字符

插&#xff1a; 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 坚持不懈&#xff0c;越努力越幸运&#xff0c;大家一起学习鸭~~~ 3妹&#xff1a;好冷啊&#xff0c; 冻得瑟瑟发抖啦 2…

Python Paramiko库:SSH远程连接与文件传输实战指南

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 在网络管理和系统运维中&#xff0c;SSH&#xff08;Secure Shell&#xff09;是一种广泛用于远程登录和文件传输的协议。Python中的Paramiko库为开发者提供了灵活、强大的SSH客户端和服务器功能。本文将深入探讨…

微服务实战系列之MQ

前言 从今天起&#xff0c;席卷北国的雪&#xff0c;持续了一整天&#xff0c;北京也不例外。这场意外的寒潮&#xff0c;把整个冬天渲染的格外cool。当然你可以在外面打雪仗、堆雪人、拉雪橇&#xff0c;也可以静坐屋内&#xff0c;来一场围炉煮茶的party。此刻&#xff0c;冬…

社会不教,精英不讲,坎儿还得自己过(揭秘人才成长规律)

推荐大家去看看天涯社区的精华帖子&#xff1a;《社会不教&#xff0c;精英不讲&#xff0c;坎儿还得自己过&#xff08;揭秘人才成长规律&#xff09;》 原出处天涯精华帖&#xff1a;《社会不教&#xff0c;精英不讲&#xff0c;坎儿还得自己过&#xff08;揭秘人才成长规律&…