
Flutter
飞翔的时光机
这个作者很懒,什么都没留下…
展开
-
2022年的个人技术选型梳理
几种 Serverless 服务端1. 腾讯cloudBase小程序首选还支持低代码,内置CMS提供一下通用的运营模板支持 flutter2. 百度Serveless3. 阿里ServerLess4. LeanCloud建模的的文档写的非常好,可以理解模型设计5. Bomb Baas支持kotlin 语言,文档特别好,API 设计非常舒服,语义性很强6. FireBase出海首选10G免费存储7. 华为 AppGallery Connect全生命周期的支持原创 2021-12-22 16:23:04 · 1352 阅读 · 0 评论 -
前端比较常用的 UI开发框架
JS:Taro,AntDesign,weUI,bootstrap:element:vantAndroid:Material(原生)QMUI,XUI .IOScupertino(默认)milluiFluttercupertino(默认)pug1. 参考:https://github.com/flutterchina/flukit云开发:腾讯CloudBaseLeanCloudAPP UI 模板,素材资源uplabs :每天可免费下载3个原创 2021-06-09 17:28:57 · 373 阅读 · 0 评论 -
TabLayout RecycleView, ViewPager 内部布局
原创 2020-12-09 18:08:42 · 180 阅读 · 0 评论 -
入门- Flutter 连接IOS真机
Flutter 连接IOS真机环境配置安装 homebrew (如果已经安装了brew,跳过此步骤)。homebrew 源地址比较慢,可以配置镜像:cd "$(brew --repo)" && git remote set-url origin https://git.coding.net/homebrew/homebrew.gitcd $home && brew update打开终端并运行如下这些命令:brew updatebrew instal原创 2020-06-19 11:33:25 · 1499 阅读 · 0 评论 -
Flutter 图片选择器性能优化实践
Flutter 图片选择器性能优化##:使用Flutter实现了一个图片选择器控件,集成到Hilight里面。 自测发现在一些低端机上会有卡顿现象,需要优化下才能提测git项目地址ui截图优化项目:1. 局部刷新最先想到的是这个,每次数据变动只刷新对应变动的UI,避免直接用 setState 全屏刷新。具体是实现是:尽可能使用const。 使用const的 对象只会实例一次把 build方法抽取出 独立控件,构造函数 尽量设置成const.使用ValueNotifier 来实现局部刷新。原创 2020-06-19 11:30:34 · 503 阅读 · 1 评论 -
Flutter 图片选择器和性能测试
实现Channel传递的方式跟常见的插件开发类似,就是把 相册 MediaStore的 api能力开放给Flutter,本来是想自己实现一个,翻阅了github,发现已经有类似开源的项目 photo_manager.下载代码大概看了下,基本可以满足要求,而且以后还能根据要求继续扩展。其中,安卓的图片加载就是使用Glide来获取字节流。实现简单图库功能来测试性能。简单的图库Demo git地址由于之前对FLutter性能测试还不是很熟悉,刚好借助这机会学习了下。由于Flutter debug包是使原创 2020-06-19 10:57:19 · 643 阅读 · 0 评论 -
入门起步:安装Flutter
起步:安装Flutter2020-04-25 全新安装Flutter,这里记录下参考链接:FlutterChina1.下载SDK官网直接下载SDK包,下载地址解压的目录,最好是 根目录下2.配置Path添加flutter相关工具到path中://进入根目录cd ~//创建配置文件touch .bash_profile //打开配置open .bash_profile //配置立即生效source .bash_profile //查看是否配置成功flutter原创 2020-06-19 10:42:22 · 278 阅读 · 0 评论 -
入门- 相机- ARCore
相机Part21. ARCore CameraARCore 原理ARCore 是 Google 的增强现实体验构建平台。ARCore 使用三个主要功能将虚拟内容与通过手机摄像头看到的现实世界整合:运动跟踪 让手机可以理解和跟踪它相对于现实世界的位置。环境理解 让手机可以检测各类表面(例如地面、咖啡桌或墙壁等水平、垂直和倾斜表面)的大小和位置。光照估计 让手机可以估测环境当前的光照条件。2. ARCoreCamera2.1 检测设备是否支持public abstract class M原创 2020-06-19 10:36:23 · 830 阅读 · 1 评论 -
入门- 音视频基础知识
一、基本概念协议协议一般有 HTTP 、RTSP、RTMP 等,我们就最常见的就是 HTTP 网络协议,而 RTSP 和 RTMP 一般用于直播流或支持带有控制信令的常见,比如远程监控。视频封装协议视频封装协议指的是我们常见的 MP4 、AVI 、RMVB 、MKV、TS、FLV、MOV等常见后缀格式,它们所表示的就是多媒体的封装协议,就是在传输过程中把音频和视频打包都一起的封装,所以播放前是需要把这部分内容解开,提取出对应音频编码和视频编码。音频编码音频编码指的是音频数据的编码方式,常见的如原创 2020-06-19 10:33:13 · 318 阅读 · 0 评论 -
相机基础原理
相机基础概念Camera是系统对外提供控制手机摄像头的类Camera1 谷歌出的第一代相机API,布局 SurfaceViewCamera2 Android 5.0对拍照API进行了全新的设计,功能会更精细,支持RAW照片输出,甚至允许程序调整相机的对焦模式、曝光模式、快门等,但是跟camera1 不兼容。布局: TextureView详细参考:Camera1与Camera2区别Camera2完全解析SurfaceView, GlSurfaceView, TextureView 的区别S原创 2020-06-19 10:32:15 · 378 阅读 · 1 评论 -
APP组件化简单总结
背景三国演义里开篇就说:天下大势,分久必合,合久必分。这话套在软件开发上,也特别贴切。我记得我刚入门时做Android应用程序开发,刚开始都是采用中心化管理的思想,将相同的资源集中进行管理,但是做着做着,发现集中管理的资源太多了,多人开发时牵一发而动全身,进而又要对原本的项目进行拆分,演变出模块化开发,以及我这里要讲的Android组件化实践。现状一种是项目组件化开发,一种是单一工程开发模式。1.对工程的任意修改调试都要编译整个工程,效率十分低下;2.不利于多人团队协同开发;3.无法做到功能复用原创 2020-06-19 10:25:13 · 921 阅读 · 0 评论 -
大纲- 自学一个语言
怎样自学一个语言下载PDF跟着学,并写重读一遍实现APP书要看两遍:第一遍, 总的过下第二天, 细看和实现原创 2020-06-19 10:14:27 · 168 阅读 · 0 评论 -
几种常用的编码格式输出整理
编码:Unicode 编码中文 => \u4e2d\u6587URL编码: 红色 => %E7%BA%A2%E8%89%B2UTF编码中文 => 中文Base64 加密解密: 中文 => JXU0RTJEJXU2NTg3原创 2020-06-12 14:17:54 · 2489 阅读 · 0 评论 -
Flutter 状态管理 实践记录
Flutter 状态管理 实践记录1. 背景Flutter里面最重要的应该就是:状态管理 刚开始做的一个问题,StatefulWidget的状态应该被谁管理?Widget本身?父Widget?还是其他对象?以下是管理状态的最常见的方法:Widget管理自己的状态。父Widget管理子Widget状态。混合管理(父Widget和子Widget都管理状态)。举个例子:比如 CheckBox 里面的数据到底是给谁管理比较方便官方的原则是:如果状态是用户数据,如复选框的选中状态、滑块的位置,原创 2020-06-04 10:44:23 · 272 阅读 · 0 评论 -
Flutter PageView/TabBarView等控件保存状态的问题解决方案
Flutter PageView/TabBarView等控件保存状态的问题解决方案背景PageView + BottomNavigationBar 或者 TabBarView + TabBar 的时候大家会发现当切换到另一页面的时候, 前一个页面就会被销毁, 再返回前一页时, 页面会被重建, 随之数据会重新加载, 控件会重新渲染 带来了极不好的用户体验, 跟原生的Pager 显示的效果不太一样。解决1. 官方推荐:AutomaticKeepAliveClientMixin由于TabBarView内原创 2020-06-03 15:06:45 · 1932 阅读 · 0 评论 -
Linux服务器-常用命令
查看 SSH密钥cd ~/.ssh 4.ls5.cat id_rsa.pub 即可查看本机的秘钥https://www.cnblogs.com/wyy1020/p/11422269.html进程查看:ps xhttps://blog.youkuaiyun.com/qq_25948717/article/details/80909911进程 杀掉kill -9 1984。https://zhidao.baidu.com/question/198015677.html启动 jarnohup原创 2020-06-03 10:42:27 · 285 阅读 · 0 评论 -
Flutter 编译失败shared_preferences_macos
Could not resolve all task dependencies for configuration ‘:shared_preferences:debugCompileClasspath’.Could not resolve project :shared_preferences_macos.Required by:project :shared_preferencesUnable to find a matching configuration of project :shared原创 2020-06-01 18:54:55 · 3581 阅读 · 4 评论 -
Flutter 局部刷新/状态管理 全面总结
Flutter 局部刷新/ 状态管理在Flutter中,如果我们想要更新页面中的某个widget的状态的话,一般会使用setState方法重走build方法来刷新。//Flutter是描述性的(declarative), UI反映状态.UI = f(state)当页面布局复杂的时候,这样肯定是不行的。 这边梳理了下几种常见的方式,做个记录,方便将来选型总体分为两类:第一类,Dart 和 Flutter 内置支持1. setState.Flutter里面最重要的方式 setState,规模原创 2020-05-29 20:11:07 · 8325 阅读 · 0 评论 -
问题记录:Flutter 运行失败 libflutter.so
问题:问题记录:Flutter Debug运行失败 couldn’t find libflutter.soAS编译可以正常,编译但是一运行就提示失败:2020-05-21 13:33:43.049 21224-21224/ FATAL EXCEPTION: mainjava.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "==/base.apk!/lib/armeabi-v7a, /sys原创 2020-05-22 12:58:38 · 1763 阅读 · 0 评论 -
Flutter热更新无效问题
热更新无效问题遇到一个问题: 安卓模拟器下: Flutter 热更新 无效 navigation 的二级页面无效要退出页面,重新进入才能生效IOS 也是无效排查后最后发现居然是写法有问题:使用 function 可以实现 热更新,使用 变量 无法热更新,需要退出再进来原理是:热更新会重新执行 build()方法,放在参数那边就无法更新class RowPage extends StatefulWidget { @override _RowPageState createState()原创 2020-05-22 12:34:02 · 2365 阅读 · 0 评论