Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在android 2.3中显示ErrorOutOfMemoryError_Android_Json_Ksoap2 - Fatal编程技术网

为什么在android 2.3中显示ErrorOutOfMemoryError

为什么在android 2.3中显示ErrorOutOfMemoryError,android,json,ksoap2,Android,Json,Ksoap2,我使用ksoap2从服务器获取数据(我的数据大约为6MB) 我的代码: 当我同步数据时,我的应用程序显示异常: 11-20 17:16:02.271: E/AndroidRuntime(431): FATAL EXCEPTION: Thread-10 11-20 17:16:02.271: E/AndroidRuntime(431): java.lang.OutOfMemoryError 11-20 17:16:02.271: E/AndroidRuntime(431): at org.kxm

我使用ksoap2从服务器获取数据(我的数据大约为6MB) 我的代码:

当我同步数据时,我的应用程序显示异常:

11-20 17:16:02.271: E/AndroidRuntime(431): FATAL EXCEPTION: Thread-10
11-20 17:16:02.271: E/AndroidRuntime(431): java.lang.OutOfMemoryError
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.kxml2.io.KXmlParser.push(KXmlParser.java:626)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.kxml2.io.KXmlParser.pushEntity(KXmlParser.java:794)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.kxml2.io.KXmlParser.pushText(KXmlParser.java:849)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.kxml2.io.KXmlParser.nextImpl(KXmlParser.java:354)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.kxml2.io.KXmlParser.next(KXmlParser.java:1378)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.kxml2.io.KXmlParser.nextText(KXmlParser.java:1432)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.ksoap2.serialization.DM.readInstance(DM.java:34)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.ksoap2.serialization.SoapSerializationEnvelope.readInstance(SoapSerializationEnvelope.java:462)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.ksoap2.serialization.SoapSerializationEnvelope.read(SoapSerializationEnvelope.java:420)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.ksoap2.serialization.SoapSerializationEnvelope.readUnknown(SoapSerializationEnvelope.java:289)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.ksoap2.serialization.SoapSerializationEnvelope.read(SoapSerializationEnvelope.java:422)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.ksoap2.serialization.SoapSerializationEnvelope.parseBody(SoapSerializationEnvelope.java:149)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.ksoap2.SoapEnvelope.parse(SoapEnvelope.java:137)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.ksoap2.transport.Transport.parseResponse(Transport.java:100)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:195)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:95)
11-20 17:16:02.271: E/AndroidRuntime(431):  at jp.osaka.APPLIActivity.getMSConditionSupportTime1(APPLIActivity.java:534)
11-20 17:16:02.271: E/AndroidRuntime(431):  at jp.osaka.APPLIActivity.access$2(APPLIActivity.java:517)
11-20 17:16:02.271: E/AndroidRuntime(431):  at jp.osaka.APPLIActivity$myrunable.run(APPLIActivity.java:358)
11-20 17:16:02.271: E/AndroidRuntime(431):  at java.lang.Thread.run(Thread.java:1019)
11-20 17:16:06.960: E/WindowManager(431): Activity jp.osaka.APPLIActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@40571980 that was originally added here
11-20 17:16:06.960: E/WindowManager(431): android.view.WindowLeaked: Activity jp.osaka.APPLIActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@40571980 that was originally added here
11-20 17:16:06.960: E/WindowManager(431):   at android.view.ViewRoot.<init>(ViewRoot.java:258)
11-20 17:16:06.960: E/WindowManager(431):   at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
11-20 17:16:06.960: E/WindowManager(431):   at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
11-20 17:16:06.960: E/WindowManager(431):   at android.view.Window$LocalWindowManager.addView(Window.java:424)
11-20 17:16:06.960: E/WindowManager(431):   at android.app.Dialog.show(Dialog.java:241)
11-20 17:16:06.960: E/WindowManager(431):   at jp.osaka.APPLIActivity.showProccess(APPLIActivity.java:338)
11-20 17:16:06.960: E/WindowManager(431):   at jp.osaka.APPLIActivity.startProgram(APPLIActivity.java:306)
11-20 17:16:06.960: E/WindowManager(431):   at jp.osaka.APPLIActivity.onCreate(APPLIActivity.java:172)
11-20 17:16:06.960: E/WindowManager(431):   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
11-20 17:16:06.960: E/WindowManager(431):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1586)
11-20 17:16:06.960: E/WindowManager(431):   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638)
11-20 17:16:06.960: E/WindowManager(431):   at android.app.ActivityThread.access$1500(ActivityThread.java:117)
11-20 17:16:06.960: E/WindowManager(431):   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928)
11-20 17:16:06.960: E/WindowManager(431):   at android.os.Handler.dispatchMessage(Handler.java:99)
11-20 17:16:06.960: E/WindowManager(431):   at android.os.Looper.loop(Looper.java:123)
11-20 17:16:06.960: E/WindowManager(431):   at android.app.ActivityThread.main(ActivityThread.java:3647)
11-20 17:16:06.960: E/WindowManager(431):   at java.lang.reflect.Method.invokeNative(Native Method)
11-20 17:16:06.960: E/WindowManager(431):   at java.lang.reflect.Method.invoke(Method.java:507)
11-20 17:16:06.960: E/WindowManager(431):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
11-20 17:16:06.960: E/WindowManager(431):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
11-20 17:16:06.960: E/WindowManager(431):   at dalvik.system.NativeStart.main(Native Method)
11-20 17:16:02.271:E/AndroidRuntime(431):致命异常:线程10
11-20 17:16:02.271:E/AndroidRuntime(431):java.lang.OutOfMemoryError
11-20 17:16:02.271:E/AndroidRuntime(431):位于org.kxml2.io.KXmlParser.push(KXmlParser.java:626)
11-20 17:16:02.271:E/AndroidRuntime(431):位于org.kxml2.io.KXmlParser.pushEntity(KXmlParser.java:794)
11-20 17:16:02.271:E/AndroidRuntime(431):位于org.kxml2.io.KXmlParser.pushText(KXmlParser.java:849)
11-20 17:16:02.271:E/AndroidRuntime(431):位于org.kxml2.io.KXmlParser.nextImpl(KXmlParser.java:354)
11-20 17:16:02.271:E/AndroidRuntime(431):在org.kxml2.io.KXmlParser.next(KXmlParser.java:1378)
11-20 17:16:02.271:E/AndroidRuntime(431):位于org.kxml2.io.KXmlParser.nextText(KXmlParser.java:1432)
11-20 17:16:02.271:E/AndroidRuntime(431):位于org.ksoap2.serialization.DM.readInstance(DM.java:34)
11-20 17:16:02.271:E/AndroidRuntime(431):位于org.ksoap2.serialization.SoapSerializationEnvelope.readInstance(SoapSerializationEnvelope.java:462)
11-20 17:16:02.271:E/AndroidRuntime(431):位于org.ksoap2.serialization.SoapSerializationEnvelope.read(SoapSerializationEnvelope.java:420)
11-20 17:16:02.271:E/AndroidRuntime(431):位于org.ksoap2.serialization.SoapSerializationEnvelope.readUnknown(SoapSerializationEnvelope.java:289)
11-20 17:16:02.271:E/AndroidRuntime(431):位于org.ksoap2.serialization.SoapSerializationEnvelope.read(SoapSerializationEnvelope.java:422)
11-20 17:16:02.271:E/AndroidRuntime(431):位于org.ksoap2.serialization.SoapSerializationEnvelope.parseBody(SoapSerializationEnvelope.java:149)
11-20 17:16:02.271:E/AndroidRuntime(431):位于org.ksoap2.SoapEnvelope.parse(SoapEnvelope.java:137)
11-20 17:16:02.271:E/AndroidRuntime(431):在org.ksoap2.transport.transport.parseResponse(transport.java:100)上
11-20 17:16:02.271:E/AndroidRuntime(431):在org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:195)上
11-20 17:16:02.271:E/AndroidRuntime(431):在org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:95)上
11-20 17:16:02.271:E/AndroidRuntime(431):在日本大阪.APPLIActivity.getMSConditionSupportTime1(APPLIActivity.java:534)
11-20 17:16:02.271:E/AndroidRuntime(431):在日本大阪.APPLIActivity.access$2(APPLIActivity.java:517)
11-20 17:16:02.271:E/AndroidRuntime(431):在日本大阪.APPLIActivity$myrunable.run(APPLIActivity.java:358)
11-20 17:16:02.271:E/AndroidRuntime(431):在java.lang.Thread.run(Thread.java:1019)处
11-20 17:16:06.960:E/WindowManager(431):活动jp.osaka.APPLIActivity泄露了window com.android.internal.policy.impl.PhoneWindow$DecorView@40571980原来是加在这里的
11-20 17:16:06.960:E/WindowManager(431):android.view.WindowLeaked:Activity jp.osaka.APPLIActivity已泄漏window com.android.internal.policy.impl.PhoneWindow$DecorView@40571980原来是加在这里的
11-20 17:16:06.960:E/WindowManager(431):在android.view.ViewRoot.(ViewRoot.java:258)
11-20 17:16:06.960:E/WindowManager(431):在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
11-20 17:16:06.960:E/WindowManager(431):在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
11-20 17:16:06.960:E/WindowManager(431):在android.view.Window$LocalWindowManager.addView(Window.java:424)
11-20 17:16:06.960:E/WindowManager(431):在android.app.Dialog.show(Dialog.java:241)
11-20 17:16:06.960:E/WindowManager(431):在日本大阪.APPLIActivity.showProcess(APPLIActivity.java:338)
11-20 17:16:06.960:E/WindowManager(431):位于日本大阪.APPLIActivity.startProgram(APPLIActivity.java:306)
11-20 17:16:06.960:E/WindowManager(431):在jp.osaka.APPLIActivity.onCreate(APPLIActivity.java:172)
11-20 17:16:06.960:E/WindowManager(431):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
11-20 17:16:06.960:E/WindowManager(431):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1586)
11-20 17:16:06.960:E/WindowManager(431):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638)
11-20 17:16:06.960:E/WindowManager(431):android.app.ActivityThread.access$1500(ActivityThread.java:117)
11-20 17:16:06.960:E/WindowManager(431):在android.app.ActivityThread$H.handleMessage(ActivityThread.java:928)
11-20 17:16:06.960:E/WindowManager(431):在android.os.Handler.dispatchMessage(Handler.java:99)上
11-20 17:16:06.960:E/WindowManager(431):在android.os.Looper.loop(Looper.java:123)
11-20 17:16:06.960:E/WindowManager(431):位于android.app.ActivityThread.main(ActivityThread.java:3647)
11-20 17:16:06.960:E/WindowManager(431):位于java.lang.reflect.Method.Invokenactive(本机方法)
11-20 17:16:06.960:E/WindowManager(431):位于java.lang.reflect.Method.invoke(Method.java:507)
11-20 17:16:06.960:E/WindowManager(431):位于com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
11-20 17:16:06.960:E/WindowManager(431):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
11-20 17:16:06.960:E/WindowManager(431):在dalvik.system.NativeStart.main(本机方法)
在我设置android:largeHeap=“true”后,如果我在android 4.0.3上运行我的应用程序,我的应用程序运行正常。但我在安卓2.3上运行我的应用程序,我的应用程序死机并显示异常:
java.lang.OutOfMemoryError

为什么?如何解开这个问题?谢谢。

这是什么样的数据


可能您或库正在读取单个块中的数据,这可能不是一个好主意,请尝试在小缓冲区中读取数据,然后将其存储在文件缓存中。

您可以使用ActivityManager.getMemoryClass()和ActivityManager.getLargeMemoryClass()确保分配了更多内存。试试看。

如果没有代码,我们无法知道为什么会发生这种情况。但总的来说,Android中的内存管理是一个真正的难题。。。看,我不能用c
11-20 17:16:02.271: E/AndroidRuntime(431): FATAL EXCEPTION: Thread-10
11-20 17:16:02.271: E/AndroidRuntime(431): java.lang.OutOfMemoryError
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.kxml2.io.KXmlParser.push(KXmlParser.java:626)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.kxml2.io.KXmlParser.pushEntity(KXmlParser.java:794)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.kxml2.io.KXmlParser.pushText(KXmlParser.java:849)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.kxml2.io.KXmlParser.nextImpl(KXmlParser.java:354)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.kxml2.io.KXmlParser.next(KXmlParser.java:1378)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.kxml2.io.KXmlParser.nextText(KXmlParser.java:1432)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.ksoap2.serialization.DM.readInstance(DM.java:34)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.ksoap2.serialization.SoapSerializationEnvelope.readInstance(SoapSerializationEnvelope.java:462)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.ksoap2.serialization.SoapSerializationEnvelope.read(SoapSerializationEnvelope.java:420)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.ksoap2.serialization.SoapSerializationEnvelope.readUnknown(SoapSerializationEnvelope.java:289)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.ksoap2.serialization.SoapSerializationEnvelope.read(SoapSerializationEnvelope.java:422)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.ksoap2.serialization.SoapSerializationEnvelope.parseBody(SoapSerializationEnvelope.java:149)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.ksoap2.SoapEnvelope.parse(SoapEnvelope.java:137)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.ksoap2.transport.Transport.parseResponse(Transport.java:100)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:195)
11-20 17:16:02.271: E/AndroidRuntime(431):  at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:95)
11-20 17:16:02.271: E/AndroidRuntime(431):  at jp.osaka.APPLIActivity.getMSConditionSupportTime1(APPLIActivity.java:534)
11-20 17:16:02.271: E/AndroidRuntime(431):  at jp.osaka.APPLIActivity.access$2(APPLIActivity.java:517)
11-20 17:16:02.271: E/AndroidRuntime(431):  at jp.osaka.APPLIActivity$myrunable.run(APPLIActivity.java:358)
11-20 17:16:02.271: E/AndroidRuntime(431):  at java.lang.Thread.run(Thread.java:1019)
11-20 17:16:06.960: E/WindowManager(431): Activity jp.osaka.APPLIActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@40571980 that was originally added here
11-20 17:16:06.960: E/WindowManager(431): android.view.WindowLeaked: Activity jp.osaka.APPLIActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@40571980 that was originally added here
11-20 17:16:06.960: E/WindowManager(431):   at android.view.ViewRoot.<init>(ViewRoot.java:258)
11-20 17:16:06.960: E/WindowManager(431):   at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
11-20 17:16:06.960: E/WindowManager(431):   at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
11-20 17:16:06.960: E/WindowManager(431):   at android.view.Window$LocalWindowManager.addView(Window.java:424)
11-20 17:16:06.960: E/WindowManager(431):   at android.app.Dialog.show(Dialog.java:241)
11-20 17:16:06.960: E/WindowManager(431):   at jp.osaka.APPLIActivity.showProccess(APPLIActivity.java:338)
11-20 17:16:06.960: E/WindowManager(431):   at jp.osaka.APPLIActivity.startProgram(APPLIActivity.java:306)
11-20 17:16:06.960: E/WindowManager(431):   at jp.osaka.APPLIActivity.onCreate(APPLIActivity.java:172)
11-20 17:16:06.960: E/WindowManager(431):   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
11-20 17:16:06.960: E/WindowManager(431):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1586)
11-20 17:16:06.960: E/WindowManager(431):   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638)
11-20 17:16:06.960: E/WindowManager(431):   at android.app.ActivityThread.access$1500(ActivityThread.java:117)
11-20 17:16:06.960: E/WindowManager(431):   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928)
11-20 17:16:06.960: E/WindowManager(431):   at android.os.Handler.dispatchMessage(Handler.java:99)
11-20 17:16:06.960: E/WindowManager(431):   at android.os.Looper.loop(Looper.java:123)
11-20 17:16:06.960: E/WindowManager(431):   at android.app.ActivityThread.main(ActivityThread.java:3647)
11-20 17:16:06.960: E/WindowManager(431):   at java.lang.reflect.Method.invokeNative(Native Method)
11-20 17:16:06.960: E/WindowManager(431):   at java.lang.reflect.Method.invoke(Method.java:507)
11-20 17:16:06.960: E/WindowManager(431):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
11-20 17:16:06.960: E/WindowManager(431):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
11-20 17:16:06.960: E/WindowManager(431):   at dalvik.system.NativeStart.main(Native Method)