我在AVUser的基础上扩展了几个字段,类似于
public void setA(long a){
Log.e("SetA",a+"");
this.put("A", a);
}
public long getA(){
Log.e("getA",this.getLong("a")+"");
return this.getLong("a");
}
当我覆盖安装APK时,会把所有类似setA的函数全部执行一遍,而如果重新登录会把所有getA全部执行一遍。我非常确定没有主动调用过这些API,请问内部的逻辑是怎么样的呢,感觉心里没底啊。
更奇怪的是,在覆盖安装的时候,a的数据会概率性变为0,我非常确定不是主动把a设为0的。
产品马上要上线了,急求,谢谢了。
由于您提到了每次覆盖安装时,这个问题需要查看您的Application类的初始化代码中是否存在AVUser相关的代码。
至于说您在登陆时会调用getA方法的原因是因为我们会在登陆成功后讲当前登陆的用户保存起来到本地,需要调用所有的get方法来获取用户属性。