getParcelable在发布模式下崩溃,但在安卓工作室安装时运行良好


public class Details implements Parcelable {
@Ignore
protected Details(Parcel in) {
id = in.readLong();
timestamp = in.readString();
type = in.readInt();
}

@Ignore
public static final Creator<Details> CREATOR = new Creator<Details>() {
@Override
public Details createFromParcel(Parcel source) {
return new Details(source);
}
@Override
public Details[] newArray(int size) {
return new Details[size];
}
};
}

使用bundle将数据移动到片段。

DetailsManagementIncomeFragment fragment = new DetailsManagementIncomeFragment();
Bundle args = new Bundle();
args.putParcelable("details", details);
fragment.setArguments(args);

在createView中,它只在发布模式下熄灭,实际上它挂起了。

Details details = getArguments().getParcelable("details");

无法在android studio中调试它,因为它在那里工作得很好。

版本中的崩溃是ProGaurd进行代码混淆的调试点。参考https://medium.com/programming-lite/secure-your-codes-by-enabling-proguard-in-android-app-bbbc003144b5了解更多详细信息。我建议将模型类保存在Keep.xml中,这样它就不会被混淆。

最新更新