
app架构
梦翼-
。。
展开
-
koin框架预研文档
背景 koin框架简介:Koin框架,适用于使用Kotlin开发 ,是一款轻量级的依赖注入框架,无代理,无代码生成,无反射,相对于dagger 而言更加适合Kotlin语引入目的:目前轻颜相机使用的是dagger框架,dagger框架属于一种依赖注入框架,经过证明这种框架有助于帮助代码中各个模块进行解耦,所以我们前提条件是支持引入依赖注入框架的。 另一方面,在依赖注入框架的选择上,我们对比了dagger和koin,发现了dagger的一些不足,比如上手难,需要手动注入等问题,同时研...原创 2020-12-07 18:10:43 · 1066 阅读 · 0 评论 -
Navigation实践总结
背景 Navigation作为Jetpack四大组件之一,可以为单Activity多Fragment结构提供重要支持。我们知道Activity是属于比较重的组件,而Fragment是比较轻量化的,因此这种结构对界面性能方面有很大影响但是每种框架都有他的优缺点,Navigation对外宣传时的确优点很多,比如fragment各种状态管理,参数类型限制,快速切换fragment等,当然这种也是吸引我们尝试这种框架的原因,不过有些特点只有在使用过程中才会发现,这也是为什么我们经常要做预研的原因,...原创 2020-10-05 13:57:41 · 1282 阅读 · 0 评论 -
Kotlin协程基本原理介绍
背景 协程对于大家来说肯定不陌生了,一个进程有多个线程,一个线程有多个协程,协程作为轻量级“线程”,最大特点是可以把异步逻辑以同步方式写出来,让代码更加清晰。同时协程可以和生命周期绑定,比如viewModelScope、lifecycleScope等等,极大的方便了开发者。那协程的不阻塞线程到底是什么原理呢?它真的比线程开销小吗?这里帮大家初探一下! 协程使用 1、以viewModelScope为例,我们先来看一下简单的使用样例,如下:viewModelScope.launch...原创 2020-10-05 13:39:46 · 1612 阅读 · 0 评论 -
android性能优化&架构优化
架构篇 组件化: 1、将app拆分成业务和基础组件,业务包括像拍摄、推送、账户、分享, 业务组件之间的依赖可以通过定义接口来解耦 接口和实现可以分别定义一个module,接口module提供给业务层,实现接口的module通过动态方式与接口关联起来,两个module可以放在一个文件夹下 2、基础库像播放器、网络库、UI组件、图片库等 性能篇 systrace使用: 进入Android/sdk/platform-tools/syst...原创 2020-07-09 20:05:56 · 853 阅读 · 1 评论 -
Android快速搭建MVVM框架
架构 上面是从一个开源项目中了解到的框架结构,以最简洁的方式搭建一个app的基础框架。框架的几个特点是:通过Jetpack的Navigation构建单Activity多Fragment结构,我们知道Activity是属于比较重的组件,而Fragment是比较轻量化的,因此这种结构对界面性能方面有很大影响 通过koin这个依赖注入框架来管理ViewModel等实例的生命周...原创 2020-04-05 00:28:08 · 8694 阅读 · 0 评论