我的问题特别针对android。我正在使用共享首选项在设备上本地保存一些数据。每次我打电话给服务器时,响应可能是新的,也可能是我已经持久的相同内容。没有改变问题的问题,什么是更好的设计?
one:检查数据是否存在,然后添加?
if(!getFromSharedPrefs(dataKey).equals(newData)){
addToSharedPrefs(dataKey, newData);
}
或二:每次只是添加新数据,因为覆盖并不比阅读更贵?
addToSharedPrefs(dataKey, newData);
请说明为什么最好先检查一下,或者为什么这两种方法是等效的。
我假设答案是平台或设备不可知的,所以如果你知道objective-c或java或者其他什么,它应该无关紧要(?)
答案 0 :(得分:0)
数字2.原因如下:(假设addToSharedPrefs(...)只是更新map-ish数据结构中的引用而不进行一些进一步的网络调用或大量计算,这是没有意义的,但只是在case ...)你正在检索哪种方式,这是昂贵的,但第一种方式也调用你的数据对象上的equals(),这可能是昂贵的,它可能不是一个巨大的差异,但这样你就消除了