Positioned可以通过设置top, right, bottom, left来让Widget相对于Stack进行定位,但是如果他的child是SizedBox的话,Siz...
Positioned可以通过设置top, right, bottom, left来让Widget相对于Stack进行定位,但是如果他的child是SizedBox的话,Siz...
Flutter中有两个常用的状态Widget分为StatefulWidget和StatelessWidget,分别为动态视图和静态视图,视图的更新需要调用StatefulWi...
在项目中,遇到了各种Consumer,刚开始的时候还不知道他们有什么区别,后面通过一些开发实践逐渐摸清楚了他们之间的区别和使用场景。首先,这些Consumer来源于river...
前言 Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 IT界著名的尼古拉斯·高尔包曾说:轮子是IT进步的阶梯!热门的框架千篇...
检查内存泄漏原理当构造一个弱引用对象(KeyedWeakReference)时,并把ReferenceQueue引用队列作为参数传入。当系统发生GC时,如果对象被正确回收,那...
前言 Hooks,直译过来就是"钩子",是前端React框架加入的特性,用来分离状态逻辑和视图逻辑。现在这个特性并不只局限在于React框架中,其它前端框架也在借鉴。同样的,...
1、Dart是什么? 和Flutter是什么关系? Dart是Google开发的一种面向对象的计算机编程语言,和Java类似Flutter 是 Google 开源的 UI 工...
@寻水的鱼Chock 感谢你的指正,我已经修改了结论
Kotlin的async/await中的坑关于kotlin中的async/await大家肯定听说了它们可以并行执行,达到一个缩短程序执行耗时的效果。大家最常看到的例子基本是这样的: 这样子是并行执行两个不同的耗时方法...
RecyclerView的复用机制 概述 RecyclerView是Android业务开发非常常用的组件。我们知道它有复用,并且设计优雅。可能看过源码的同学还知道,它有几层复...
ArrayList0. 通过数组实现1. add,会进行扩容(当前数组大小 + (当前数组大小 / 2))2. remove,删除对应的下标,并通过System.arrayc...
*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 前言 第一次看到插桩,是在Android开发高手课中。看完去查了一下:“咦!还有这东西,有点意思”。 本...
解决问题:1. Activity的销毁和重建过程中的数据保存。2. 逻辑层持有UI层管理网络请求,避免内存泄漏。 ViewModel与Activity/Fragment的生命...
MMKV的核心原理是将文件MMAP到内存中,将新的key/value直接append到内存中,如果达到边界了,就重整以腾出空间,如果空间还是不够的话,就直接double内存块...
Binder承担了绝大部分Android进程通信的职责,可以看做是Android的血管系统,负责不同服务模块进程间的通信。在对Binder的理解上,可大可小,日常APP开发并...
@40c85124303a 请问你这个问题后面解决了吗?我这边看Adapter中,有onViewRecycled这个方法,在RecyclerView回收的时候会调用,我在这里就将回收的ViewHolder从List中remove了
安卓使用RecyclerView+HorizontalScrollView 实现Item整体横向滑动这个案例是利用竖向的RecyclerView和横向的HorizontalScrollView 实现的一个可横向和竖向滑动的view, [https://github.com/...
背景:需要做一个同时显示统计图 + 统计表的页面,统计图在上方,统计表在下方,同时统计表数据较多,一页无法显示完成,需要支持横向滚动和纵向滚动。 解决方案:使用NestedS...
这个案例是利用竖向的RecyclerView和横向的HorizontalScrollView 实现的一个可横向和竖向滑动的view, [https://github.com/...
RecyclerView无法复用缓存原因:当NestedScrollView作为RecyclerView的父布局时,因为NestedScrollView会将MeasureSp...
背景:因为我们的应用中有很多业务查询的功能,包括但不限于融资申请列表,放款列表申请,银行账户审核等等10来个列表,而针对每一个列表,都有各自一套搜索条件,而且这些搜索条件又各...
异常处理通过封装的方式,对网络请求和结果处理,使用runCatching + try/catch进行包裹 runCatching { doRequest....