安卓中saveinstance中的一些陷阱

我们都对activity生命周期有所了解,我不敢说特别精通哈,我们有的时候需要跳转activity有的时候需要往下传递值,也就是intent.putextra("","");到下一个activity里面这个时候我们可以看到值传递过去了哈,但是当我们切换其他应用时,再次切换回来的时候可以发现这个时候就呵呵了,什么数据都没有,对于这种情况可以说是activity生命周期里面发生的activity异常情况下的生命周期,他会执行onsaveinstance方法,这种情况下有2中解决方法一个是处理saveinstanse,另外一种是做缓存其实我还是比较喜欢做saveinstance解决的,因为这个显得更加的合理呢 第一种方法的代码是这样的

if ((savedInstanceState != null) && savedInstanceState.containsKey(KEY_IMAGE)) {
    mImage = savedInstanceState.getInt(KEY_IMAGE);
}
类似于这种效果,只要我记得以前传过来的值就可以了。另外一种从功能说是可以的也实现了,但是就显得不严谨了,我进入这个页面数据我就直接缓存下来了这个时候呢无论activity怎样发生异常,不管它执行什么周期的方法,都缓存下来了所以这个从功能上是完全没问题的。

你可能感兴趣的:(安卓中saveinstance中的一些陷阱)