Huijie Shi
Huijie Shi
这个方法确实work,但是实际上movetofirst能解决的情况意味着data这个cursor实际上没有发生改变,否则data本身就是重新load出来的cursor了。在这种情况下如果重新用这个data来进行onLoadFinished回调实际上更新完的界面和之前没有变化。虽然一般情况下onLoadFinished耗时不长,但如果文件数量比较多,尤其是文件所属目录也很多的时候onLoadFinished回调耗时是很长的(因为特殊应用场合图片和目录都上千了,在设备上要有十几秒的等待时间)。每次ImageGridActivity的restart都需要重新执行onLoadFinished(比如切出去再切回来)感觉比较蠢,个人的解决方法如下: ```java public class ImageDataSource implements LoaderManager.LoaderCallbacks { ... private Cursor lastData=null; ... public void onLoadFinished(Loader loader, Cursor data) { if (lastData==data) return; lastData=data; ... } ... } ```
#198 actually I found a pull request that is very silimar to what I seek, is there any chance to re-open this one?
> > 这个是非JSON标准,为什么要有这个需求? > > 有些API接口,会对请求体做签名验证签名操作。写客户端业务的时候都会先转成json obj,然后对某些字段拼接,并且进行验签操作,此时客户端拿到的结果是 你好,服务端签名使用的原始文本是是 \u4f60\u597d ,此时就会出现签名验证不一致的情况。我觉得这个需求还是有必要的。 既然提到服务端的“原始文本”应该是指请求的响应体吧?这种情况下是服务端序列化逻辑有问题啊,如果原始文本是 “\u4f60\u597d”那么服务端把它转换为json的时候应该按照json的逻辑做escaping,客户端收到的就不应该是“你好”。听起来像是服务端用拼接的逻辑做了序列化,这是不正确行为啊……