You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio入门:调用startActivity跳转Activity时应用崩溃如何解决?

崩溃原因及修复方案

核心触发原因(按出现概率从高到低排序)

  • 自定义User类未实现Serializable接口
    你通过Intent传递Serializable类型的集合时,要求集合内存储的所有元素也必须支持序列化,否则系统在执行序列化操作时会直接抛出NotSerializableException导致应用崩溃。
    修复方案:修改com.example.hw1511.Model.User类,实现java.io.Serializable接口:
import java.io.Serializable;

public class User implements Serializable {
    // 原有属性、构造方法、getter/setter逻辑保持不变
    private String name;
    private int age;
    private String birth;

    public User(String name, int age, String birth) {
        this.name = name;
        this.age = age;
        this.birth = birth;
    }

    // 原有其余代码无需改动
}
  • SecondActivity未在AndroidManifest.xml中注册
    Android要求所有Activity组件必须在项目的AndroidManifest.xml文件中声明才可被启动,未注册的Activity启动时会抛出ActivityNotFoundException导致崩溃。
    修复方案:在AndroidManifest.xml的<application>标签内添加SecondActivity的声明:
<application
    <!-- 原有application配置保持不变 -->
    >
    <activity
        android:name=".MainActivity"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <!-- 新增SecondActivity声明 -->
    <activity
        android:name=".SecondActivity"
        android:exported="false" />
</application>

可选优化点

你当前代码中MainActivity implements Serializable的配置完全无用,Activity属于Android上下文组件,强行序列化会带来内存泄漏风险,建议直接删除该实现声明。


内容的提问来源于stack exchange,提问作者nnhjbxozqxs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 20:45:05