【发布时间】:2014-10-23 10:07:16
【问题描述】:
try {
Gson gson = new Gson();
try
{
((ProfileActivity)getActivity()).interactionResult = gson.fromJson(HomeCardString.toString(), InteractionSummaryResult.class);
}
catch(Exception e)
{
Log.i("myyyy", e.getMessage());
e.printStackTrace();
}
} catch (Throwable t) {
Log.e("My App", "Could not parse malformed JSON: \"" + responseString + "\"" + t.getMessage());
}
gson.fromgson ..... 这一行在Throwable t .... 创建异常。我在HomeCardString.toString() 中的数据非常大。记事本文件中大约 1.9MB。我无法减少该数据的大小。那该怎么办?
08-29 16:34:36.963: E/AndroidRuntime(29319): FATAL EXCEPTION: main
08-29 16:34:36.963: E/AndroidRuntime(29319): java.lang.OutOfMemoryError
08-29 16:34:36.963: E/AndroidRuntime(29319): at java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder.java:94)
08-29 16:34:36.963: E/AndroidRuntime(29319): at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:145)
08-29 16:34:36.963: E/AndroidRuntime(29319): at java.lang.StringBuilder.append(StringBuilder.java:216)
08-29 16:34:36.963: E/AndroidRuntime(29319): at com.stalker.androidapp.InteractionTabFragment$ProfileInteractionCall.onPostExecute(InteractionTabFragment.java:175)
08-29 16:34:36.963: E/AndroidRuntime(29319): at com.stalker.androidapp.InteractionTabFragment$ProfileInteractionCall.onPostExecute(InteractionTabFragment.java:1)
08-29 16:34:36.963: E/AndroidRuntime(29319): at android.os.AsyncTask.finish(AsyncTask.java:602)
08-29 16:34:36.963: E/AndroidRuntime(29319): at android.os.AsyncTask.access$600(AsyncTask.java:156)
08-29 16:34:36.963: E/AndroidRuntime(29319): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:615)
08-29 16:34:36.963: E/AndroidRuntime(29319): at android.os.Handler.dispatchMessage(Handler.java:99)
08-29 16:34:36.963: E/AndroidRuntime(29319): at android.os.Looper.loop(Looper.java:137)
08-29 16:34:36.963: E/AndroidRuntime(29319): at android.app.ActivityThread.main(ActivityThread.java:4448)
08-29 16:34:36.963: E/AndroidRuntime(29319): at java.lang.reflect.Method.invokeNative(Native Method)
08-29 16:34:36.963: E/AndroidRuntime(29319): at java.lang.reflect.Method.invoke(Method.java:511)
08-29 16:34:36.963: E/AndroidRuntime(29319): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:823)
08-29 16:34:36.963: E/AndroidRuntime(29319): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:590)
08-29 16:34:36.963: E/AndroidRuntime(29319): at dalvik.system.NativeStart.main(Native Method)
【问题讨论】:
-
为什么不能减小数据的大小? 1.9 MB 的 JSON 数据……至少可以这么说。
标签: java android eclipse memory android-asynctask