Base Station

Base Station

君子坐而论道 少年起而行之

Android 列表预加载分析
当今移动应用开发中,列表控件是最常用的UI控件之一,它可以显示各种信息,如图片、文本、视频等等。然而,在移动设备上,列表数据的加载和显示是非常耗费资源的操作。当列表中的数据量较大时,用户往往需要等待较长的时间才能看到完整的列表。为了提高用户体验,开发人员需要采取一些策略来减少加载时间,如预加载。预加载是指在用户滑动列表之前,提前加载一部分列表数据,以便在用户滑动到这些数据时可以立即显示,从而提高用户的体验和感知速度。Android系统提供了一些API和技术来实现列表预加载,本课题旨在对Android列表预加载进行深入研究和分析,探究其实现原理、优化策略和性能影响,为开发人员提供参考和指导...
庸碌
庸碌Created: Mar 23, 2021 5:28 PMTags: Life Lesson, Personal 本来计划新年的第一篇文章输出一下 Flutter 列表的分析和功能优化,但是在陆续看过闲鱼技术和一些同行的文章后感觉要是还按照原来的思路写一篇就显得过于搪塞,这个理由马上就说服了我自己,从而心安理得拖延了起来.但是在相继整理了房间、单车、简历、甚至是 Chrome 的收藏夹后,我已经找不到能够继续让写博客这项事情往后拖延的理由,就想着先写一篇随笔吧 ,也算是对去年的自己一份回顾与交代. 去年的疫情对在小公司工作的自己来说受影响还是蛮大的,前半年居家办公、薪资减少、年中在公...
官方文档的重要性
今天发生了两件事情,解决方法倒是殊途同亏,都是通过官方文档来解决的.事后回想下来也有总结的必要,在这里聊两句. 一是在看 elm 开源项目源码的时候发现了一个挺奇怪的语法 12345678910export const USERINFO =“userInfo”;export default{ [USERINFO]({commit,state}){ commit("xxx",xx); }} 函数中间和逻辑倒是没什么好讨论的,但是函数面前加了一个数组变量,这倒是让我有点晕了,百思不得其解这是什么操作,...
Flutter 深入探索
Flutter 框架简介 在深入代码之前,我们先了解一下 Flutter 框架结构: 底层的 Engine 库,负责语言的解释(Dart)、视图的渲染(Skia、Text).它们都是使用C、C++ 编写的,具有极高的性能。 Framework 中将编写 UI 所需要的动画、绘制、手势等独立实现,然后组合起来交由 rendering 层级来产生强大的效果,组件的层次是扁平化的,最大化可能的组合数量。 Flutter 自带了两套较为完善的 Widgets 套件,Android 平台风格的 Material 与 iOS 平台风格的 Cupertino 从结构图的我们可以看到 Android...
Dart 实践(一)
数据类型Dart 中一切都是对象,包含数字、布尔值、函数等,它们和 java 一样继承与 object,所以它们的默认值都是 Null 这点尤为需要注意,在定义数据类型的时候如 布尔 、数字类型都需要我们手动去设定业务中所需要的默认值。 常用数据类型布尔类型(bool)布尔类型与 C 语言一样,使用 bool 声明一个布尔类型的对象,拥有 true 和 false 两个值 1bool isOpened=true; 数字类型(int、double)在 Dart 中的数字只有类型 int、double ,它们都继承于 num 类,num 类是一个抽象类,声明了整数和浮点数的抽象实现,...
《精进:如何成为一个很厉害的人》阅读笔记 01
如何对待时间 瑞典心理学家林德沃(Lindvall)提出,具有平衡式时间视角的人,在内心具有一种“延伸的当下感(extended now ),既可以“从当来审视过去”,也可以“视未来存于当下”,他应具有囊括“过去”和“未来的”包容性。 这种既不疏离也不漠视未来的当下感,显然与享乐主义视角差别明显,它显示了一个人对事件所应具有的责任感,既以更严肃(虽不一定是更迫切)的态度来对待时间。这与梁漱溟先生的“郑重”一说便不谋而合了。近百年前人文学者的自我审思与新近基于实证的科学观点实现了相会,这是件多么奇妙的事! 林德沃提出的对待时间的十条建议: 生活在当下——不瞻前顾后,不左顾右盼,不患得患...
Flutter 实践
前言4月公司客户端业务没有什么大的动向,我自己自然也就落得清闲了。打算按照年前指定的计划,这段时间用来实战和深入了解一些 Flutter 相关的知识。个人感觉,学到的知识如果不能转化成成果,那么价值和留存率都是级低的。敲定目标后,打算做什么就很重要了。毕竟 UI 什么的可以自己想,但是数据可不是无源之水,去买感觉又不大必要;苦恼之际,正巧浏览的时候看到 gank 翻修改版了,也就打算做一个 Flutter 版本客户端,虽然没什么特色,但也聊胜于无,而且 API 现在是越来越稀缺了,只能要求自己做的劲量精细点,不要制造垃圾。 下面就是半个月的成果——gank-flutter: 个人感触目...
Retrofit与OkHttp源码解析
Android 网络框架解析从 2016 Retrofit 开源以来,Retrofit 以它优雅的设计,方便的使用迅速征服了很多开发者,Retrofit+OkHttp 成了 Android 网络开发开源解决方案的佼佼者。 Retrofit 已经在实际项目使用很久了,也对 Retorfit 和 OkHttp 实现原理有一定的了解,但却一直没有书面的记录,网上已经有很多相关的优秀文章,但本着思前想后千万遍,不如动笔写下来的道理,还是打算写一整篇 Retrofit、OkHttp 以及 Okio 的解析,整理和完善相关的知识,总结和归纳比阅读更重要。 Retrofit、OkHttp、Okio 三...
HTTP 权威指南阅读笔记(一)
URIURI 是一种更通用的资源标识符,URL 实际是它的子集。URI 是一个通用的概念,由两个主要的子集 URL 和 URN 构成 ,URL 是通过描述资源的位置来标识自愿的,而 URN 则是通过名称来识别资源,与它们所处的位置无关 URN 的好处是显而易见的,但是将 URL 转换成 URN 需要进行大量的工作,在可预见的未来,英特网资源仍然会以 URL 来命名。 URL 格式 1<scheme>://<user>:<password>@<host><port><path>;<params>?<q...
Gradle的架构和api
了解 Gradle 的架构 每个 Gradle 构架都包括了三个基本的构建块:项目(Projects)、任务(tasks)、和属性(properties),每个构建至少包括一个项目,项目包括一个或多个任务,项目中有很多属性来控制构建过程. Gradle 运用了领域驱动的设计理念(DDD)来给自己的领域构建软件建模,因此 Gradle 的项目和任务都在 Gradle 的 API 中有一个直接的 class 来表示,接下来我们来深入了解每一个组件和它对应的 API。 ProjectProject 表示你想要构建的一个目标,对应具体的内容可以是一个项目、组件、jar 等。当开始构建的时候,G...
avatar
Nutcracker
你以后会遇到很多机遇,但你的平庸会毁掉它们。当你觉得自己做的还不错的时候,你已经杀死了那个能够让你做的更好的自己
FRIENDS
沧海浮舟