个人在开发过程中遇到此bug,查找了一些资料,网友们说可以从以下几个方面,检查自己的代码
- RemoteView中添加的图片太大了,超过40K会报这个异常
- Intent传递的数据太大了超过1M也会报这个错误
- FileDescripter太多而且没有关闭,looper太多没有quit。
- 试试在AndroidManefest.xml中对当前Activity配置
configchange=“orientation|keyboardHidden”强制在Activity横竖屏切换的时候不重新onCreate。
如果是代码问题,那么崩溃是必现的,个人首先打印了当前应用的日志,看运行至何处崩溃,查看对应的类,我发现自己死循环的启用分线程(服务器异常,没有处理,不断调用重启IM代码,造成死循环),造成系统内存不足导致以下异常,个人解决方法是,当检测服务器连接不上,则不重启IM,避免死循环,即解决
java.lang.RuntimeException: Could not read input channel file descriptors from parcel.
at android.view.InputChannel.nativeReadFromParcel(Native Method)
at android.view.InputChannel.readFromParcel(InputChannel.java:148)
at android.view.IWindowSession$Stub$Proxy.addToDisplay(IWindowSession.java:690)
at android.view.ViewRootImpl.setView(ViewRootImpl.java:502)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:259)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
at android.widget.Toast$TN.handleShow(Toast.java:405)
at android.widget.Toast$TN$1.run(Toast.java:313)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/markdown_views-ea0013b516.css">
个人在开发过程中遇到此bug,查找了一些资料,网友们说可以从以下几个方面,检查自己的代码
- RemoteView中添加的图片太大了,超过40K会报这个异常
- Intent传递的数据太大了超过1M也会报这个错误
- FileDescripter太多而且没有关闭,looper太多没有quit。
- 试试在AndroidManefest.xml中对当前Activity配置
configchange=“orientation|keyboardHidden”强制在Activity横竖屏切换的时候不重新onCreate。
如果是代码问题,那么崩溃是必现的,个人首先打印了当前应用的日志,看运行至何处崩溃,查看对应的类,我发现自己死循环的启用分线程(服务器异常,没有处理,不断调用重启IM代码,造成死循环),造成系统内存不足导致以下异常,个人解决方法是,当检测服务器连接不上,则不重启IM,避免死循环,即解决
java.lang.RuntimeException: Could not read input channel file descriptors from parcel.
at android.view.InputChannel.nativeReadFromParcel(Native Method)
at android.view.InputChannel.readFromParcel(InputChannel.java:148)
at android.view.IWindowSession$Stub$Proxy.addToDisplay(IWindowSession.java:690)
at android.view.ViewRootImpl.setView(ViewRootImpl.java:502)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:259)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
at android.widget.Toast$TN.handleShow(Toast.java:405)
at android.widget.Toast$TN$1.run(Toast.java:313)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/markdown_views-ea0013b516.css">