我正在发送大型JSON字符串,其中JSON
数组长度的记录为800,但是当我启动Activity
时,应用程序退出时没有任何崩溃消息,但是当我将记录减少到100时,它就有效完美。
我在做如下
Intent myIntent = new Intent(getActivity(),
ActivityName.class);
myIntent.putExtra("jsondata", respUserData);
getParentFragment().startActivityForResult(myIntent,
pick_plan);
getActivity().overridePendingTransition(
R.anim.lefttorightanim, R.anim.righttoleftanim);
那么将大型JSON
发送到下一个Activity
的正确方法是什么?
提前致谢。
答案 0 :(得分:1)
You can Declare that json string as public variable and use that json string activityname.varname
答案 1 :(得分:0)
不要直接将大字符串或大数据传递给intent,您必须使用Application Class
。
在应用程序类中设置变量和方法。
要获取有关Application Class
的更多信息,请查看此answer。
答案 2 :(得分:0)
由于它可能不是你传递的全局状态,我建议不要使用Application Class
。如果是您一直使用的数据,您可以轻松地将其存储在那里。
使用putExtra()
提供的方式传递大量数据应该可以正常工作。显然,Bundle
无法正确处理您的JSONObject。您可以尝试将其转换为String,将其传递给Intent.putExtra()
,然后从String重构JSONObject。这会对性能产生一些影响,但应该可以作为一种解决方法。
答案 3 :(得分:-1)
您可以按照提到的方式传递值。它将作为一个捆绑包,因此它也可以容纳大量数据。 我们可以使用意图传递Arraylist,模型类等。