我刚刚开始 Android 开发(有一些 iOS 开发经验),我非常震惊为什么如果我“崩溃”,只有一个 Activity 崩溃而不是整个应用程序?
我已经创建了演示应用程序(为什么只有 MyActivity3 崩溃而不是整个应用程序?)
启动MyActivity2的代码:
Button goToActivity2Button = (Button) this.findViewById(R.id.goToActityButton);
final MyActivity2 self = this;
goToActivity2Button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent activity3Intent = new Intent(self, MyActivity3.class);
self.startActivity(activity3Intent);
}
});
然后在 MyActivity3 中崩溃
Button goToActivity2Button = (Button) this.findViewById(R.id.crashTheAppButton);
goToActivity2Button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String nullString = null;
nullString.length();
}
});
最佳答案
因为当您按下按钮时 MyActivity2 尚未完成。您开始打算进入 MyActivity3,创建 MyActivity3,但 MyActivity2 仍处于“后台”状态。如果要处理 Activity 循环,则必须重写 onResume()
和 onPause()
方法。
直到您不 finish()
Activity ,它才会保持打开状态。
关于android - 为什么 Activity 中的崩溃不会导致整个应用程序崩溃 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27230122/