-
Notifications
You must be signed in to change notification settings - Fork 502
optim_for_android
Shaojin Wen edited this page Mar 29, 2024
·
3 revisions
fastjson2提供了android版本。
从2.0.46开始,提供3中Android兼容版本,分别兼容Android 4/5/8,也就是对应API Level 14/21/26
- android4兼容版本
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.48.android4</version>
</dependency>
-
- android5兼容版本 这个版本和android4兼容版本基本一致,只是使用了java.nio.charset.StandardCharsets,后续将会不再升级android4兼容版本。
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.48.android5</version>
</dependency>
-
- android8兼容版本 这个版本支持java.time和Optional
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.48.android8</version>
</dependency>
Android 34版本才引入JEP 254 CompactStrings ( https://openjdk.org/jeps/254 ) , 所以在android 33以及之前版本,构造字符串使用new String(byte[], StandardCharsets.ISO_8859_1)会很慢。
fastjson 2.0.46的Android兼容版本做了这个优化,在android上性能明显提升。
Android版本和服务器版本不同,Android版本对首次运行的性能有要求,fastjson2在首次运行方面做了很多优化,包括去除不必要的静态初始化,减少对反射的调用等。