android开发,关于onResultActivity调用系统图库,Activity又被重新onCreate 65

正常情况下,Activity不可见之后变回可见,只会调用onstart-onresume。现在我调用系统图库之后,在返回,Activity却变为oncreate-star... 正常情况下,Activity不可见之后变回可见,只会调用onstart-onresume。现在我调用系统图库之后,在返回,Activity却变为oncreate-start-Resume被重新实例化了。可是各方法下打印,显示Activity却没有调用ondestroy,为什么返回来却要oncreate,试过启动模式也没有用,有什么解决的办法么 展开
 我来答
QQMSD8
推荐于2016-04-15 · 知道合伙人软件行家
QQMSD8
知道合伙人软件行家
采纳数:6788 获赞数:13239
没有做不到,只有想不到,帮助别人的同时也是对自己的提升

向TA提问 私信TA
展开全部

这是因为转屏时重启了Activity,所以重新调用了一次onCreate。

解决方案:

在AndroidManifest.xml的每一个需要禁止转向的Activity配置中加入android:screenOrientation=”landscape” 属性。

参数说明:

  1. landscape = 横向

  2. portrait = 纵向

避免在转屏时重启Activity

android中每次屏幕方向切换时都会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次 Create的时候载入配置,那样,进行中的游戏就不会自动重启了!
要避免在转屏时重启Activity,可以通过在AndroidManifest.xml文件中重新定义方向(给每个Activity加上 android:configChanges=”keyboardHidden|orientation”属性)。
在需要控制屏幕显示方向的Activity中重写 onConfigurationChanged(Configuration newConfig)方法,这样在转屏时就不会重启Activity了。

GoodseaJt
2014-08-07 · TA获得超过130个赞
知道小有建树答主
回答量:300
采纳率:0%
帮助的人:174万
展开全部
有这种可能,当Activity被停止或者Activity变成不可见时会调用onstop方法,而onstop方法则会有两种选择,一种就是LZ说的onRestart-onStart-onResume模式,还有一种就是如果其他app需要内存的话process会被killed,这时再回到该activity则肯定得走oncreate了。
追问
图库之后就返回该Activity,可能是内存不足引起的,有什么方法解决么,在问个问题浏览多张图片,就是全屏滑动浏览,用什么控件viewpager么,还有其他的么
追答
如果是内存不足引起的,LZ可以用onsaveinstantstate来保存现场,这样可以随时还原。浏览多张图片的话,有很多控件,比较常用的是gallery
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
邪帝龙鹰
2014-08-07 · TA获得超过292个赞
知道小有建树答主
回答量:356
采纳率:0%
帮助的人:294万
展开全部
屏幕旋转可能会带来这样的问题,旋转时,activity会被摧毁重建,不知道你是不是这样的问题。
追问
是打开图库,屏幕并没有旋转,如果被销毁ondestroy会被调用,可是并没有调用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式