1、本来尼玛没想到,没想到两个Activity下有一个共同的值
2、这个值,暂称呼为 value吧
3、如果这个value是动态的,而且两个Activity下一定要保证一致的话,那就是大坑
4、A改变了value,B一定要展示修改后的,反之也一样
5、假设value在A页面显示的是5(从服务器取的),然后打开B页面,显示的也是5 (服务器存的哈,每次都是请求拿到的value)
此时在B页面发出网络请求,拿到响应,其中响应的返回的增量是3,那么B页面显示为8,其实是本地的5+3,然后back回A页面,此时A页面已经不再发网络请求了,而是赋值为B传递给他的(一般Intent里传递过来就行),好,两个页面现在都是显示的8, 另外服务端那变存储的就是8。 这样看起来没错
6、那么坑在哪里了呢, 坑在你给本地的value加了个6(这个是你本地做的),但是其实服务器那边只是加了一个3。。。。 当再从A页面发出网络请求,拿到value , 其实是 5 + 3 , 因为服务器就给加了个3。。 为啥呢,因为需要你在B页面发出一次请求,服务器才会给你加个6
这个逻辑就是,抽奖double的逻辑,A页面是5,B页面是5,开始抽奖,中奖3个硬币,如果看完广告,就会加6个硬币,错误就犯在,你没有看广告,就直接给了双倍的硬币, 应该本地先5+3, 看完广告应该再加3,即5+3+3。 你现在做的是 5 + 6,这显然不对,如果没看广告,实际服务器只能加了3,你本地的做了双倍,那就数值不一致了