概述
一、问题
我们经常需要在主线程中读取一些配置文件或者缓存数据,最常用的结构化存储数据的方式就是将对象序列化为 JSON字符串保存起来,这种方式特别简单而且可以和 SharedPrefrence配合使用,因此应用广泛。但是目前用到的 Gson在序列化 JSON时很慢,在读取解析这些必要的配置文件时性能不佳,导致卡顿启动速度减慢等问题。
Gson的问题在哪里呢?笔者用 AndroidStudio的 profile工具分析了 activity.onCreate
方法的耗时情况。
如图1所示,可以发现 Gson序列化占用了大部分的执行时间,从图2可以更直观地看到Gson.fromJson占用了61%的执行时间。分析 Gson的源码可以发现,它在序列化时大量使用了反射,每一个field,每一个get、set都需要用反射,由此带来了性能问题。
二、如何优化
知道了性能的瓶颈之后,我们如何去修改呢?我能想到的方法就是尽量减少反射。
Android框架中由 JSONObject来提供轻量级的 JSON序列化工具,所以我选择用 Android框架中的 JSONObject来做序列化
最后
以上就是苹果鸵鸟为你收集整理的MSON,让JSON序列化更快的全部内容,希望文章能够帮你解决MSON,让JSON序列化更快所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复