android开发 使用夜神模拟器 屏幕旋转问题

最近再一次开发过程遇到了这样问题:应用比较简单,其中牵扯到在2个不同SDK的页面来回跳转,开发好之后,在studio自带模拟器和手机上测试没有问题,但是在内网演示时候使用了夜神模拟器,通过侧边栏切换了竖屏,
微信图片_20200724162012.png

没想到在中演示时候遇到了崩溃,检查发现是Asdk关闭之后在Bsdk的onActivityResult 方法,B页面成员变量丢失。
最终发现有夜神模拟器有横竖屏切换,加上没有保存现场,由于页面都是竖屏,于是选择了最简单的在AndroidManifest 配置了

  android:screenOrientation="portrait"

强制竖屏,但是还是在返回过程中 模拟器切换横屏页面一闪而过,debug验证确认。这种情况再正常情况下不会出现,考虑是不是夜神模拟器做了横屏的修改。
解决办法
1.页面做了保存现场,和现场恢复

 @Override
    public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
        super.onSaveInstanceState(outState, outPersistentState);
        outState.putString("merchantid", merchantid);
        outState.putSerializable("CsOrderEntity", mCsOrderEntity);
    }
……
@Override
    protected void onCreate(Bundle savedInstanceState) {
    merchantid = savedInstanceState.getString("merchantid");
    mCsOrderEntity = (CsOrderEntity) savedInstanceState.getSerializable("CsOrderEntity");
    }

2.夜神模拟器在后台直接配置成手机竖屏模式


微信图片_202007241637161.png

如果还有其他解决方法,可以讨论一下

你可能感兴趣的:(android开发 使用夜神模拟器 屏幕旋转问题)