
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
AutomaticKeepAlive 的组件的主要作用是将列表项的根 RenderObject 的 keepAlive 按需自动标记 为 true 或 false。为了方便叙述,我们可以认为根 RenderObject 对应的组件就是列表项的根 Widget,代表整个列表项组件,同时我们将列表组件的 Viewport区域 + cacheExtent(预渲染区域)称为加载区域 :说明:封装Autom
为简单数据封装平台特定的持久存储(iOS和macOS上的NSUserDefaults, Android上的SharedPreferences,等等)。数据可能会异步持久化到磁盘,并且不能保证写入返回后会持久化到磁盘,所以这个插件不能用于存储关键数据。基本使用支持数据类型, , ,and 。iOS: NSUserDefaultsAndroid: SharedPreferencesWeb: local
保存数据到本地是应用程序非常重要的功能之一,比如如下场景:一个新闻类或者博客类的应用程序,打开后进入首页,如果本地没有保存数据,则需要通过网络获取数据,在返回数据之前,用户看到的是空白页面,而如果本地保存了部分新闻,则显示这部分数据,等待最新的数据返回时在刷新即可,对用户体验来说,明显第二种体验更佳。SQLite 是目前最受欢迎的本地存储框架之一。......
文章目录Flutter 滚动控件SingleChildScrollViewFlutter 滚动控件SingleChildScrollView滚动组件,类似于Android中的ScrollView,只能接收一个子元素。scrollDirection:滚动方向。BouncingScrollPhysics:滚动到边界效果。ClampingScrollPhysics:类似安卓效果,会有微光显示。Bounc
匿名内部类单例模式@JvmStatic伴生对象工厂模式
Kotlin DSL(领域特定语言)是一种使用 Kotlin 语言编写的,用于解决特定问题领域的语言。DSL 使得代码更易读、易写,因为它的语法和领域问题的语法更接近。Kotlin 的强大类型系统和灵活性使得创建 DSL 变得更加容易。
Kotlin协程与线程在并发编程中存在显著差异。协程是轻量级用户态并发单元,资源消耗小,可创建数万个实例;而线程是系统级执行单元,创建和切换开销大。协程采用协作式调度,切换仅需用户态操作,效率高;线程则由系统抢占式调度,涉及内核态切换。协程不会阻塞线程,支持结构化并发和管道通信;线程则依赖共享内存和锁机制。协程开发依赖kotlinx-coroutines等库,适合高并发场景,能显著提升资源利用率。

简单使用这种方式会一次性加载所有组件,没有懒加载,适合数据量比较小。ListView.builder 动态创建这种方式适合大量数据。ListView.separated 添加分割线ListView & ScrollController 滚动监听ListView & Scrollbar 设置滚动条ListView & RefreshIndicator 下拉刷新AnimatedListAnimated
图片组件是Flutter的基础组件之一。图标组件包含Image和Icon两个组件,Icon本是是一种文字,只是显示的是图标而不是文字,Image是通过图片解码器将图片解码加载,所以Icon体积更小、加载更快、不会失真。加载本地图片需要在文件中,配置如下:加载图片可简写为加载网络图片可简写为其他特效淡入淡出效果加载图片时淡入淡出效果loading动画圆形头像加边框添加占位图字体图标Flutter可以
解析Json解析JsonArray自动生成Model类实际开发中,JSON很少会这么简单,嵌套的Json情况很多。可以使用插件自动生成Model类。编写代码:表示生成的Model类在什么位置。:这个标注告诉生成器,是这个类需要生成Model类。执行命令一次性生成在项目的根目录下执行:持续生成推荐将所有的Model类放在一个单独的目录下,然后执行命令。https://app.quicktype.io







