2016-07-20-关于三星手机拍照返回的时候,activity被销毁创建的问题

问题描述:
三星手机拍照成功,之后返回后activity数据丢失,被销毁了。既activity调用ondestory()-onCreate()
但是其他的手机却没有这样的问题

解决方法:
1, 刚开始以为是内存不足造成的问题,所以解决办法是:onSaveInstanceState()保存图片地址,oncreate()的时候重新获取

2,由于拍照之后需要裁剪,所以这个地址再次无法获取,所以使用了onactivityforresult方法返回的intent.getdata获取到裁剪的图片地址,然后上传

3,以上俩步只能解决activity上出现的问题,当activity上有fragment的时候就会出现每次上传完成头像后,页面都会需要重新构建,感觉就像是程序crash了一样

4,最终的解决办法是禁止activity在拍照的时候被销毁。只需要在AndroidMainifest.xml下标签下配置android:configChanges="orientation|keyboardHidden" 。重写activity的onConfigurationChanged方法,方法只需要super.onConfigurationChanged就可以了
5, 4所述的方式在API Level 13前是可以的,在API Level 13后需要新添加一个属性screenSize
既android:configChanges="orientation|keyboardHidden|screenSize"这样就可以了

你可能感兴趣的:(2016-07-20-关于三星手机拍照返回的时候,activity被销毁创建的问题)