登录

去注册 忘记密码?

登录

注册

去登录

  • 扫码关注公众号
  • 发送“我爱安卓
  • 即可获取验证码

注册

解锁回答区域

  • 扫码关注公众号
  • 发送“我爱安卓

若你登陆,将永久解锁;
若未登录,仅本机解锁。

解锁回答区域

获取注册验证码

  • 扫码关注公众号
  • 发送“我爱安卓
  • 即可获取验证码

每日一问 | Activity与Fragment的那些事,“用起来没问题,我都要走了,你崩溃了?”

鸿洋    2020-06-22 00:39   收藏

public class FragmentTestActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fragment_test);

        FragmentManager fm = getSupportFragmentManager();
        Fragment fragment = fm.findFragmentById(R.id.constraint_layout);

        if (fragment == null) {
            Bundle bundle = new Bundle();
            byte[] imgBytes = new byte[1024 * 1024 * 20];
            bundle.putByteArray("img_bytes", imgBytes);
            fragment = new SimpleFragment();
            fragment.setArguments(bundle);
            fm.beginTransaction().add(R.id.constraint_layout, fragment).commitNow();
        }


    }
}

大家可以看下上述代码,通过bundle传递了20M到fragment。

问题为:

  1. 上述代码该Activity启动时会崩溃吗?
  2. 点击home,切换到桌面时会崩溃吗?
  3. 如果上述发生崩溃,为什么,尝试从源码中进行分析;
  4. 除了携带较大的数据,还有携带什么样的数据会发生崩溃?

自助提问入口:点击提交问题

删除留言

确认删除留言,会导致相关评论丢失?

取消 确定