Android ClassCastException在Parcelable中,但可能存在更深层次的问题?

Android ClassCastException在Parcelable中,但可能存在更深层次的问题?,android,arraylist,parcelable,Android,Arraylist,Parcelable,在一个名为Game private ArrayList<Question>[] questions; 像这样找回它 public void writeToParcel(Parcel parcel, int flags){ ... parcel.writeArray(questions); ... } private Game(Parcel in) { ... questions = (ArrayList<Question>[])

在一个名为
Game

private ArrayList<Question>[] questions;
像这样找回它

public void writeToParcel(Parcel parcel, int flags){
    ...
    parcel.writeArray(questions);
    ...
}
private Game(Parcel in) {
    ...
    questions = (ArrayList<Question>[]) in.readArray(Question.class.getClassLoader());
    ...
}

有人能解释发生了什么事吗?看起来它释放了我的活动占用的内存,因此对象不再存在。这是否正确?

为什么要使用ArrayList数组?您是否真的试图存储多个问题列表?还是只有一个列表?它们代表不同的问题集。
05-18 02:52:40.967 I/ActivityManager(401): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.example.app/.ui.MainActivity} from pid 649
05-18 02:52:51.053 W/ActivityManager(401): Activity idle timeout for ActivityRecord{412389c8 u0 com.example.app/.ui.MainActivity}
05-18 03:00:29.857 I/WindowState(401): WIN DEATH: Window{41238b08 u0 com.example.app/com.example.app.ui.MainActivity}
05-18 03:00:29.865 I/ActivityManager(401): Process com.example.app (pid 29139) has died.
05-18 09:00:53.402 I/ActivityManager(401): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.example.app/.ui.MainActivity bnds=[373,630][533,830]} from pid 649
05-18 09:00:53.465 I/ActivityManager(401): Start proc com.example.app for activity com.example.app/.ui.MainActivity: pid=9148 uid=10117 gids={50117, 3003, 1028}
05-18 09:00:53.949 E/AndroidRuntime(9148): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.app/com.example.app.ui.MainActivity}: java.lang.ClassCastException: java.lang.Object[] cannot be cast to java.util.ArrayList[]
05-18 09:00:53.949 E/AndroidRuntime(9148):  at com.example.app.model.Game.<init>(Game.java:241)
05-18 09:00:53.949 E/AndroidRuntime(9148):  at com.example.app.model.Game.<init>(Game.java:235)
05-18 09:00:53.949 E/AndroidRuntime(9148):  at com.example.app.model.Game$1.createFromParcel(Game.java:228)
05-18 09:00:53.949 E/AndroidRuntime(9148):  at com.example.app.model.Game$1.createFromParcel(Game.java:1)
05-18 09:00:53.949 E/AndroidRuntime(9148):  at com.example.app.ui.MainActivity.onCreate(MainActivity.java:212)
05-18 09:00:53.949 W/ActivityManager(401):   Force finishing activity com.example.app/.ui.MainActivity
05-18 09:00:54.512 W/ActivityManager(401): Activity pause timeout for ActivityRecord{412389c8 u0 com.example.app/.ui.MainActivity}
05-18 09:00:59.981 I/ActivityManager(401): Process com.example.app (pid 9148) has died.