采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
文森老师您好,Acitivity 实例的创建是在handleLauncherActivity 里面反射生成的,然后才会执行 onCreate 、onStart、onResume 的方法,为什么您说在横竖屏切换执行onStop 方法之后,会重新new Activity 呢
同学你好,这里写的new,指的是创建实例的意思,并不是说不是通过反射创建的。用new这个词简写确实可能会造成误解,在这里补充一下。也给你的细心点赞。
老师您好,无论是反射还是new 都是创建了Activity 对象的实例对吧,可是为什么执行onStop 方法之后会重新创建Activity 实例呢,这一点我有点看不懂
同学你好,这是Android系统的一个机制,横竖屏切换或者Activity切换到后台一段时间之后,Activity实例可能会失去引用,被GC回收掉。算是Android系统的一个内存优化机制,回收不可见实例。这种情况下Activity实例不是一定会被回收,仅仅是有可能,但是对于我们开发者而言,Activity的实例就是不可靠的,所以Activity内部的成员变量,都有可能恢复到初始化状态。
明白了,感谢文森老师的耐心解答
登录后可查看更多问答,登录/注册
Android面试全攻略
464 4
583 3
337 3
698 3
356 3