Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
rongyuewang
JetpackMVVM
提交
9e747dd1
J
JetpackMVVM
项目概览
rongyuewang
/
JetpackMVVM
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
JetpackMVVM
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
9e747dd1
编写于
12月 01, 2020
作者:
D
dingtaotao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
docs(common): 规划组件感知和无冲突打包
上级
f861fe7c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
14 addition
and
2 deletion
+14
-2
README.md
README.md
+14
-2
未找到文件。
README.md
浏览文件 @
9e747dd1
...
...
@@ -33,7 +33,13 @@
-
Fragment拆分组件之后的通信方案,参照下方mvvm-v3.1介绍
-
项目最低兼容4.0.3,因为objectbox最低支持这个版本
### 2. 使用的开源框架:
### 2. 期望拥有的能力(待完成):
#### 2.1 2020.12.01(待完成,可预见的能够帮助工程变强大的工作)
-
调试模式:应用配置项参数等调试项修改和查看,需要IOC和持久化等支持。
-
组件感知能力:在已经打包的apk包中进入调试模式,可查看到组件的版本和已包含或未包含的必要组件。
-
组件版本冲突打包能力:单个组件不同版本都可以参与打包,且安装之后正常运行,能够查看单个组件多个版本,支持本地进行版本切换。
### 3. 使用的开源框架:
-
<a
href=
"https://developer.android.google.cn/jetpack/androidx"
>
androidx
</a>
:这个系列的jar包和appcompat.support对立的,参见谷歌官方文档
-
<a
href=
"https://developer.android.google.cn/jetpack"
>
lifecycle-viewmodel+livedata+DataBinding
</a>
:
生命周期管理,完全解耦,方便系统内存管理释放,基于观察者模式实现数据更新等等
...
...
@@ -51,6 +57,10 @@ Fresco有自己的内存回收机制,但是这个回收阈值没有设置,
## 三、分支更新日志(倒叙)
### 8.master 2020.12.01
-
更换LogUtils为logger;方便日志查找,为后续日志同步服务器/文件记录提供基础;
-
Fragment的伪ViewModel依托所属Activity-LifeCycleOwner实现生命周期感知;具体实现请查看WDFragViewModel使用;
### 7.master 2020.09.13
-
**对于ObjectBox一些建议**
1.
大小限制:ObjectBox默认最大为1GB,当db文件达到1G,新增数据会报出SQL异常,可通过maxSizeInKByte()改变最大限制,建议同SQLite一样,设置为磁盘大小,使用其他方法在部分业务上做磁盘大小检测,磁盘不足及时预警;另外从插入1条-100W条数据来看,ObjectBox扩容基本上从SQlite原生数据库几十倍降低到2.5倍左右;
...
...
@@ -61,7 +71,9 @@ Fresco有自己的内存回收机制,但是这个回收阈值没有设置,
-
主键ID查询单条数据在百万级数据中Sqlite稍优;在单表条件查询之下,数据量上万情况下,Objectbox过于优秀。
4.
在删除数据方面,由于都是Sqlite数据库,所以删除只是删数据,并不会减小磁盘内存,如果要缩小db大小,可以自行设计方案;
```
注:测试使用小米9手机,单表数据量从最小100条到最大200W条,字段为30个String+一个自增ID,每个字符串长度都在20到30长度的随机字符,测试过程没有严格做到控制变量法,所以测试并不是很严谨,仅供参考
注:①测试使用小米9手机,单表数据量从最小100条到最大200W条,字段为30个String+一个自增ID,每个字符串长度都在20到30长度的随机字符,测试过程没有严格做到控制变量法,所以测试并不是很严谨,仅供参考;
②我们项目使用sqlite最近碰到SQLiteDatabaseCorruptException: database disk image is malformed等一系列的数据库损坏bug(官方说明关机或sd卡打满可能出现),我们线上用户不到万一的概率,从大数据定位出是几个深度用户,
解决这个问题的最好方式是引入腾讯wcdb中的c++的repair模块修复损坏数据库,构建新库,UI层做友好提示(类似于QQ更新之后跳出的加载数据页面),工作量比较大,但实际效果比较好,修复数据有利于用户留存;
```
### 6.master 2020.09.05
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录