三星 s6 edge onDestroy多次调用问题
2016-01-28 15:37
225 查看
项目里面有个问题单是订购成功却不能直接播放
首先看log 是订购成功的广播成功发送 但是没有接收操作 自然不会有播放的动作
一开始以为是设备将广播拦截的问题,但是通过debug的方式发现,在订购界面的订购成功的广播是发送了的,然而在播放鉴权的基类中却没有接收到
并且在debug断点的走向中,是走到了unregisterReceiver的方法,将播放接收器注销掉了,而此方法是在订购界面的onDestroy方法中发送的广播被基类的接收器接收并走到了注销播放器的操作处。
令人疑惑的是,在订购界面的oncreate方法后,就走到onDestroy的方法了。
知道了以上的信息,反而不知道从何下手了。
经大神指点,直接研究本订购activity的生命周期,将所有其他的逻辑注销,只留下setcontentview的语句,此时,发现会走至onResume 以及onPause 然后又重新oncreate 但是不会走到onDestroy方法了。
一点儿点儿释放逻辑代码,此时发现在只释放了requestWindowFeature的情况下,就会运行至onDestroy方法,于是认为是本语句的问题,将其他代码释放,只注销了requestwindowfeature的语句,发现还是走到了onDestroy的方法
又一次迷惑,大神则在研究本订购activity的生命周期的发现中 一下看到重点:有重新oncreate了一次!!!这个却被我忽略了。
网上搜索多次调用oncreate方法,大多说的是由于横竖屏切换,才有本问题,抱着试一试的态度 按照其中的提示 在manifest中对应的activity注册的内容中 添加了
android:configChanges="locale|orientation|keyboardHidden"
运行后还是有多次调用oncreate的情况发生。
搜索到http://blog.csdn.net/lvxiangan/article/details/41333475
其文章内容有
情况1:手机锁屏或屏幕旋转
手机横竖屏的时候重新onCreate,所以在配置文件中增加了配置选项:
android:configChanges="orientation|keyboardHidden"
可是跟踪发现,在屏幕旋转的时候还会继续调用onCreate
从sdk 3.2+,当手机屏幕发现旋转,新增加一个screenSize,这个值也会跟着发生改变。所以需要把screenSize这项也要加入到配置文件中。
android:configChanges="orientation|keyboardHidden|screenSize"
添加了screenSize,发现错误被解决。
总结分析,由于三星 s6
edge有许多自动转屏的特殊化处理,即是自己项目中并没有转屏,可能也有转屏的情况发生,从而多次调用oncreate方法,即会有onDestroy方法被调用。
首先看log 是订购成功的广播成功发送 但是没有接收操作 自然不会有播放的动作
一开始以为是设备将广播拦截的问题,但是通过debug的方式发现,在订购界面的订购成功的广播是发送了的,然而在播放鉴权的基类中却没有接收到
并且在debug断点的走向中,是走到了unregisterReceiver的方法,将播放接收器注销掉了,而此方法是在订购界面的onDestroy方法中发送的广播被基类的接收器接收并走到了注销播放器的操作处。
令人疑惑的是,在订购界面的oncreate方法后,就走到onDestroy的方法了。
知道了以上的信息,反而不知道从何下手了。
经大神指点,直接研究本订购activity的生命周期,将所有其他的逻辑注销,只留下setcontentview的语句,此时,发现会走至onResume 以及onPause 然后又重新oncreate 但是不会走到onDestroy方法了。
一点儿点儿释放逻辑代码,此时发现在只释放了requestWindowFeature的情况下,就会运行至onDestroy方法,于是认为是本语句的问题,将其他代码释放,只注销了requestwindowfeature的语句,发现还是走到了onDestroy的方法
又一次迷惑,大神则在研究本订购activity的生命周期的发现中 一下看到重点:有重新oncreate了一次!!!这个却被我忽略了。
网上搜索多次调用oncreate方法,大多说的是由于横竖屏切换,才有本问题,抱着试一试的态度 按照其中的提示 在manifest中对应的activity注册的内容中 添加了
android:configChanges="locale|orientation|keyboardHidden"
运行后还是有多次调用oncreate的情况发生。
搜索到http://blog.csdn.net/lvxiangan/article/details/41333475
其文章内容有
情况1:手机锁屏或屏幕旋转
手机横竖屏的时候重新onCreate,所以在配置文件中增加了配置选项:
android:configChanges="orientation|keyboardHidden"
可是跟踪发现,在屏幕旋转的时候还会继续调用onCreate
从sdk 3.2+,当手机屏幕发现旋转,新增加一个screenSize,这个值也会跟着发生改变。所以需要把screenSize这项也要加入到配置文件中。
android:configChanges="orientation|keyboardHidden|screenSize"
添加了screenSize,发现错误被解决。
总结分析,由于三星 s6
edge有许多自动转屏的特殊化处理,即是自己项目中并没有转屏,可能也有转屏的情况发生,从而多次调用oncreate方法,即会有onDestroy方法被调用。
相关文章推荐
- 每日安全资讯:三星多个项目代码泄露,包括 SmartThings 源代码和密钥
- 三星SCX-4521F 如何清洁搓纸轮?
- 苹果强硬三星妥协 专利之争或致合作土崩瓦解
- 三星与HTC
- 三星使用塑料外壳的思考
- 三星Gear Fit讨人喜欢的5点之一
- 三星Gear Fit讨人喜欢的5点之二
- 三星正式进军中国商用市场
- 苹果创新地位面临挑战:三星是最大威胁
- 三星效仿苹果谷歌 大手笔投资昭示平台化野心
- 美国第三季度智能手机出货量HTC第一,三星第二,苹果第三
- Gear VR的改进与虚拟现实社群
- 苹果VS三星
- u-boot源码配置分析
- S5PV210--1---210启动方式和代码前16字节
- 三星为危险工作环境和雇员死亡道歉
- 荣品电子正式推出三星S5P4418开发板卡片电脑
- Samsung/三星 G110B root教程_方法
- 不错,好地方啊!
- 请教ARM9的系统,引导加载代码,整体思路