亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

解析Json更快的Gson的APT版本開源庫

since1986 / 1909人閱讀

摘要:分享一個的版本開源庫給大家這個庫的使用方法和原生的的使用方式基本一樣但是因?yàn)槭褂昧硕菇馕鲂实玫搅颂岣邘斓牡刂肥褂梅椒▽?dǎo)入庫這個庫是開源的建議直接拷貝和兩個進(jìn)入自己工程。

分享一個Gson的APT版本開源庫給大家

這個庫的使用方法和原生的Gson的使用方式基本一樣,但是因?yàn)槭褂昧薃PT(Annotation Processing Tool)而使解析效率得到了提高
GsonAPT庫的地址

使用方法:

1 導(dǎo)入庫

這個庫是開源的: 建議直接拷貝:gsonaptannotation和gsonaptcomplier兩個module進(jìn)入自己工程。
接著:
dependencies {

...
compile project(":gsonaptannotation")

apt project(":gsonaptcomplier")
}

2 添加@Jsonbean到自己希望解析的相關(guān)類上
@JsonBean
public class LittleBean {
    String littleBeanName;

    public String getLittleBeanName() {
        return littleBeanName;
    }

    public void setLittleBeanName(String littleBeanName) {
        this.littleBeanName = littleBeanName;
    }

    public LittleBean() {
    }

    public LittleBean(String littleBeanName) {
        this.littleBeanName = littleBeanName;
    }
}
3 編譯工程

編譯后會生成GsonAPT類

4 使用GsonAPT代替new Gson()
TestBean testBean = new TestBean();
String str = GsonAPT.toJson(testBean);
testBean = GsonAPT.fromJson(str,TestBean.class);

Map map = new HashMap<>();
map.put(9, new OtherBean(""));
map.put(1, new OtherBean(null));
String mapStr = GsonAPT.toJson(map);
map = GsonAPT.fromJson(mapStr,new TypeToken>() {
}.getType());

引用測試結(jié)果

How fast

how much time to parse the small bean:

times Gson toJson GsonAPT toJson Gson fromJson GsonAPT fromJson
10 3 1 10 1
10000 738 363 883 756
100000 8361 4420 10616 9346

how much time to parse the big bean:

times Gson toJson GsonAPT toJson Gson fromJson GsonAPT fromJson
1 673 325 811 700
10 7748 3740 9506 8182
times Gson toJson Speed / GsonAPT toJson Speed
10000(small) 49%
100000(small) 52%
1(big) 48%
10(big) 48%
times Gson fromJson Speed / GsonAPT fromJson Speed
10000(small) 86%
100000(small) 88%
1(big) 86%
10(big) 86%
注意點(diǎn)

@JsonBean的相關(guān)類的字段需要有g(shù)et/set方法或者是 public或包訪問的

和默認(rèn)的Gson一樣,不能解析非靜態(tài)的內(nèi)部類

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/69872.html

相關(guān)文章

  • 追蹤解析Gson源碼(1)

    摘要:版本版本簡介是谷歌開源的解析工具。其實(shí)幾款產(chǎn)品的差別都很細(xì)微,有谷歌的信仰加成,所以在這里進(jìn)行一次源碼分析。至于和會在后續(xù)進(jìn)行追蹤。 零 前期準(zhǔn)備 0 FBI WARNING 文章異常啰嗦且繞彎。 1 版本 Gson 版本 : gson 2.8.5 IDE : idea 2018.3 2 Gson 簡介 Gson 是谷歌開源的 java json 解析工具。市場上同類的開源產(chǎn)品還有 F...

    sewerganger 評論0 收藏0
  • Android干貨框架集錦,搭建項(xiàng)目必不可少

    摘要:最佳解析最佳解析最佳解析是一個依賴注入框架,由谷歌開發(fā),最早的版本由公司開發(fā)。在對的介紹中指出,即,這里的即數(shù)據(jù)結(jié)構(gòu)中的有向無環(huán)圖。也就是說,是一個基于有向無環(huán)圖結(jié)構(gòu)的依賴注入庫,因此的使用過程中不能出現(xiàn)循環(huán)依賴。 在開發(fā)過程中使用過很多優(yōu)秀框架,比如網(wǎng)絡(luò)的okhttp,圖片的Fresco,注入的Gagger2等,都是非常優(yōu)秀的框架。 所以今天在此介紹下至今本人知道的一些比較流行主流且...

    zhisheng 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<