syn*_*nic 15 android json jackson
我在我正在编写的应用程序中大量使用JSON解析.我所做的大部分工作已经使用Android内置的JSONObject库实现(是json-lib吗?).
JSONObject似乎在JSON字符串中创建了绝对所有内容的实例......即使我最终没有使用它们.
我的应用程序目前运行得很好,即使在G1上也是如此.
我的问题是:使用像杰克逊这样的流解析器的速度和内存优势是否值得一试?
麻烦,我的意思是:据我所知,使用Jackson而不是内置库有三个缺点:
我在大多数情况下也使用内置JSON解析器,但最近步入了一个不适合的场景:对于某些Web服务请求,我收到超过1 MB的JSON文档.使用内置JSON解析器加载这些内容需要大量的主内存并导致OutOfMemoryException
多次.对于这些场景,流式解析器是更好的选择(即使它在使用中更不方便),并且内置的JSON解析器不提供流式传输,而只提供类似DOM的样式.
对于任何寻找Android的流式JSON解析器的人,我强烈建议使用Google的GSON.我一开始尝试过杰克逊JSON,它工作正常,直到我尝试构建我的应用程序的发布版本:ProGuard报告了几个问题,正在运行的应用程序在NullPointerException
Jackson的构造函数中崩溃了ObjectMapper
(尽管在调试版本中一切正常) .即使经过几个小时的尝试,我也无法解决这个问题.然后我转而使用GSON,一切都像魅力一样.
顺便说一句:GSON仅限流媒体的jar只有14kB的大小 - 所以没什么好担心的.
归档时间: |
|
查看次数: |
8027 次 |
最近记录: |