
Kotlin
文章平均质量分 84
以实践探索为导向,揭开被误解的深层逻辑面纱。
学术袁
水晶帘外娟娟月,梨花枝上层层雪。花月两模糊,隔窗看欲无。
月华今夜黑,全见梨花白。花也笑姮娥,让她春色多。
展开
-
安卓性能优化|离屏预加载
**问题:ActivityA跳转ActivityB,ActivityB页面布局较复杂,显示速度有待提升。**优化:ActivityA跳转到ActivityB之前,预加载ActivityB页面布局并缓存。等待到进入ActivityA时添加已缓存的布局并进行渲染显示。(且一些数据资源也可以在ActivityA预先获得并缓存后使用)原创 2023-03-20 14:57:29 · 1439 阅读 · 1 评论 -
多人协作|RecyclerView列表模块新架构设计
根据产品设计,将首页列表即将展示内容区域,以模块划分成多个。令团队开发成员分别承接不同模块进行开发,且互不影响任务开发,`模块数据结构亦可分别加载|提高渲染速度|降低渲染等待时间`。任务开发解耦,节省开发时间、开发效率翻倍。原创 2023-03-05 17:49:08 · 1315 阅读 · 1 评论 -
安卓|aar和jar打包引入流程演示
安卓平台,aar和jar打包引入全流程演示!通过对公共代码的沉淀、下沉,后打包成通用的sdk提供开发使用。原创 2023-02-15 12:32:49 · 2267 阅读 · 0 评论 -
混合开发框架|Flutter多引擎&dart多入口设计实现
仿照工行投资理财页面,使用Flutter实现。通过此讲述混合开发中,项目设计中,需求下如何创建多个Flutter引擎。Flutter引擎如何对应各自的dart入口,并实现每个Flutter引擎下路由切换页面。从而完成Flutter项目架构的设计搭建。原创 2022-10-06 19:58:19 · 2300 阅读 · 0 评论 -
混合开发架构|原生&Flutter通信
**声明双端通信协议,以MethodChannel为例。****`需求说明1`·** Native端发送信息到Flutter端,Flutter收到信息后回执。此时,Native端须再次处理Flutter端的回执信息。**`需求说明2`·** Flutter端发送信息到Native端,Native收到信息后处理。MethodChannel无回执。原创 2022-09-29 17:17:47 · 903 阅读 · 0 评论 -
混合开发架构|Android工程集成React Native、Flutter、ReactJs
文章,介绍并记录在大前端混合架构开发中的重要细节和流程。通过在安卓原生工程中集成两大主流混合框架React Native、Flutter,以及ReactJs[Vue],集成三类模块module的架构的混合设计。并分别在这些主流技术栈的业务创作中,自己造轮子、使用新颖架构设计及核心技术去实现。并在编码过程中还会创造常用工具,沉浸式状态栏,导航栏渐变原创 2022-09-15 22:11:46 · 4340 阅读 · 3 评论 -
Java链表|头指针和虚拟头结点的区别
Java语言单向链表环境下,头指针和虚拟头结点在使用上有何区别?头指针指向空(即Node head = null),不存在的节点,此时链表为空;虚拟头节点是实际存在的,只不过它存放的元素是空,指向的下一个节点也是空。一旦设立了虚拟头节点,整个链表中所有的节点都会有1个前驱节点,这样一来,我们在任意位置执行增、删、改、查都将变得简单且操作统一。如果没有设置虚拟头结点而是使用头指针,则须要if-else逻辑判空的操作。.........原创 2022-07-07 20:08:44 · 1271 阅读 · 0 评论 -
架构演进|研究mvp到mvvm(传统架构mvvm和Jetpack下的区别)
探究MVP、MVVM架构实现方案,MVP如何向MVVM演进。以及在传统MVVM实现基础上如何实现的etpack组件下的MVVM架构。此架构相比传统架构又有何优缺点。Jetpack下的新架构,使用组件LiveData、ViewModel可关联宿主生命周期(有效避免空指针)。使用ViewModel组件,又能有效防止页面数据由于内存不足等非正常原因导致的数据丢失。若同时基于Databinding,此时Activity和Fragment只关注UI逻辑和用户的交互即可,数据绑定则交给Databinding!.....原创 2022-06-16 20:52:09 · 896 阅读 · 2 评论 -
字节码插桩(javassist)之插入代码块|IOC框架(Hilt)之对象注入~研究
字节码插桩(javassist)之插入代码块|IOC框架(Hilt)之对象注入新版本AS下报错:Error resolving plugin [id: 'com.android.application', version: '7.2.0', apply: false]> Plugin request for plugin already on the classpath must not include a version......原创 2022-05-21 18:10:07 · 814 阅读 · 0 评论 -
Retrofit执行原理详解
Retrofit执行原理就是,通过执行内部方法create作为接口请求的起始。进入通过执行动态代理生成接口对象,调用接口对象方法并回调动态代理的invoke方法。在回调invoke方法过程中,会解析接口对象方法的注解、方法参数注解、方法返回值类型并将解析内容封装成对象。待执行到ServiceMethod.invoke()时,Call对象执行同步/异步请求,使得OkHttp的拦截器通过chain.proceed()传入request对象(通过已解析的注解内容所生成),然后执行最终的接口数据请求,并返回响应报文原创 2022-04-17 16:10:22 · 1808 阅读 · 0 评论 -
文化袁探索专栏——自定义View实现细节
文化袁探索专栏——Activity、Window和View三者间关系文化袁探索专栏——View三大流程#Measure文化袁探索专栏——View三大流程#Layout文化袁探索专栏——消息分发机制文化袁探索专栏——事件分发机制文化袁探索专栏——Launcher进程启动流程’VS’APP进程启动流程文化袁探索专栏——Activity启动流程文化袁探索专栏——自定义View实现细节文化袁探索专栏——线程安全文化袁探索专栏——React Native启动流程这里介绍以继承布局实现方式,来探索原创 2022-03-04 16:45:43 · 451 阅读 · 0 评论 -
自定义View核心逻辑+算法[城市导航]
城市导航城市导航控件,是结合事件分发机制及功能需求,来实现绘制出的自定义View。当在左侧城市列表页面滑动浏览时,右侧导航省、直辖市列表会跟随联动,并根据左侧滑动区间显示选中状态。右侧通过手势滑动,左侧会有View提示及城市列表联动。事件消费,处理手势override fun onTouchEvent(event: MotionEvent?): Boolean { event?.let { when(it.action) { .原创 2021-08-13 11:08:41 · 320 阅读 · 0 评论 -
举例呈现事件分发机制+源码分析调用关系
事件分发机制事件分发流程事件分发流程创建一个页面TouchInterceptAty.kt,且在布局中以自定义CGroup.kt作为布局容器。容器中分别通过红圈1-2-3,三种清况将控件CView.kt、CTextView.kt、CButton.kt、放置在容器中。/** TouchInterceptAty.kt Activity页面 */class TouchInterceptAty : AppCompatActivity(){ ... ... override fun d原创 2021-08-11 12:35:38 · 327 阅读 · 0 评论 -
Kotlin添加窗口报错
Kotlin添加窗口报错创建窗口代码Process: 包名, PID: 27541android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running? at android.view.ViewRootImpl.setView(ViewRootImpl.java:980) at android.view.原创 2021-07-12 11:55:39 · 309 阅读 · 0 评论 -
Kotlin基础语法之疑惑探究
学习Kotlin语言,对比Java、Js。发现疑惑,探究异同,深刻理解,灵活使用。原创 2021-04-20 11:00:46 · 132 阅读 · 0 评论