Android开发之SQLite插入数据优化
来源:互联网 发布:传感器数据采集软件 编辑:程序博客网 时间:2024/06/05 03:56
今天,我们来讲讲如何对Android 开发中请求完数据,在本地客户端存放一些缓存信息遇到的问题?
首先,讲讲遇到的问题,外国人的代码不是那么好改,毕竟不是自己写的而且还没有注释和App的开发文档,只有一步一步的看了。
主要的展现出来的效果是这样的:这是一个类似于口袋办公的软件,而且需要实现离线后信息自动更新,这势必我们需要在本地存些数据到SQLite中去已达到效果。当刚进入软件时,我们要网络请求数据以及存放数据到数据库SQLite中,总3000条数据左右,一共加载了大概6min左右。如果对于用户的你,刚进入软件,就要等个5min左右的时间去加载数据,心都凉了半截,下次我肯定不用这款软件,什么玩意啊?这极大地使用户的体验效果变差。然后我进入Android开发程序中,打断点调试了一下,跟别看看Api数据请求所用的时间和数据存储的时间。网络请求是一部分,数据存储也是一小部分,但都得优化。在后台人员那看了一下,Api操作数据比较复杂,我们所要的字段是从4张表分别取出来的,也就是对数据库进行了四次操作然后汇聚成一张我们所要的东西。3000条数据就是3000*4=12000次操作,现在想想是要么多时间,5分钟,这是数据库当初没建好的表现,这与我无关,我们只需要在插数据这方面进行自己的优化。对,刚看老外的代码和我正常想法也是一样,一条一条的存入数据库中,也许操作的数据少,没啥区别,但是数据一多,客户端插入数据这块就受不了了。重复操作3000次数据库,那我们有什么解决方式呢? 借鉴前面Api取数据的经验,操作数据库的次数变多了,时间也就变长了。那么,我们可以这样做啊,减少操作数据库的次数,这不就加快了数据。
思路:
1.网络请求获取数据 (获得的是一个json字符串)
2.用gson变成单个对象
3.定义一个maxlength为1000的数组
4.把单个对象一个一个存入数组中
5.当单个对象下标%maxlength就重新开辟一个数组存放对象 如果是2956条数据的话,那就是存放到3个数组中,也就是操作三次数据库
也就是这么写
JSONArray array=data,getJSONArray("data");
ArrayList<JsonArray> arrays=new ArrayList<>();
JsonArray newarray=null;
for(int i=0;i<array.length();i++){
int maxlength=1000;
if(i%maxlength){
array=new JsonArray();
arrays.add(newarray);
}
newarray.put(array.getjsonobject(i));
}
- Android开发之SQLite插入数据优化
- android SQLite大数据插入优化
- Android SQLite 插入优化
- android sqlite数据 插入1000条数据优化
- Android批量插入数据到sqlite的性能优化
- 【android】 批量插入数据到sqlite的性能优化
- Android SQLite 显式事务控制优化插入数据
- Android:SQLite插入大量数据的效率优化
- Android SQLite插入优化 SQLiteStatement
- Android开发之SQLite数据操作
- Android项目开发之Sqlite数据存储
- Android sqlite批量插入数据
- sqlite大量数据插入的优化
- sqlite大量数据插入优化总结
- anroid Sqlite批量插入数据优化方法
- sqlite批量插入数据优化(转载)
- SQLite数据库插入数据优化(swift)
- sqlite批量插入数据性能优化
- LeetCode#258 Add Digits
- iOS NSUserdefaults
- yii2中的语言包的使用,yii::t()方法
- Ubantu操作系统下搭建FTP服务器
- SQL与NoSQL(MongoDB)数据库的对应关系图表
- Android开发之SQLite插入数据优化
- 如何使用Android Studio把自己的Android library分享到jCenter和Maven Central
- 卡尔曼算法笔记---思想和实际应用物理含义的理解
- Bean named '*' must be of type [*], but was actually of type [com.sun.proxy.$Proxy34]
- WebView基本用法
- 软件版本号规范
- iphone数据存储之-- Core Data的使用(一)
- 设计模式GOF23——工厂模式
- 回味经典——uboot1.1.6 之 第二阶段 第三阶段