通过getIntent()
获得的Intent
用于开启Activity
(Activity
开启本身)时,观察发现Activity
不会走onDestroy()
方法.
那么以下两种获得Intent的方法在开启Activity时,有什么本质区别吗?
Intent intent1 = getIntent(); //此方法在MainActivity中调用
Intent intent2 = new Intent(MainActivity.this, MainActivity.class);
如果利用intent2
去startActivity()
那么会开启一个全新的Activity
如果用intent1
则不会.
看了下源码,但是由于本人太水,没有找到判断用于开启Activity
的Intent
是否是attach()
在Activity
上的这个逻辑,所以比较困惑,望大神解答.
이렇게 정의하고 직접
하면 확실히 작동하지 않습니다. 왜냐하면 시스템은 기본적으로 런처(애플리케이션 입구)의 동작을 기반으로 인텐트를 생성하고 애플리케이션이 실행되었을 때 인텐트를 생성하기 때문입니다. 시작하면 응답이 없습니다. (백그라운드로 전환된 경우 호출 시 애플리케이션이 다시 포그라운드로 전환됩니다.) 그러나에는 위의 문제가 없습니다.
/startActivity(getIntent())
또한startActivity(new Intent(...))
또는과 같은 플래그가 선언되지 않는 한 새
onDestroy()
을 시작할 때Activity
이 호출되지 않습니다.