我已经为Android创建了一个或多或少类似的应用程序:
Intent和导航到不同的屏幕startActivity不幸的是,有时应用程序在不同的活动中崩溃并出现以下错误:
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:135)
at android.view.IWindowSession$Stub$Proxy.add(IWindowSession.java:523)
at android.view.ViewRootImpl.setView(ViewRootImpl.java:481)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:301)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:215)
at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:140)
at android.view.Window$LocalWindowManager.addView(Window.java:537)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2507)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1986)
at android.app.ActivityThread.access$600(ActivityThread.java:123)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
但我不知道这个错误是什么意思,因为我不使用文件.任何的想法?
use*_*723 13
此问题似乎与无法读取parcel中的输入通道文件描述符相同,后者(错误地)关闭为非主题.它也或多或少与无法从包裹崩溃报告中读取输入通道文件描述符相同.不幸的是,这些问题没有得到令人满意的(并且足够普遍)的答案,所以无论如何我都会尝试.
文件描述符在Android中的多个位置使用:
android.os.MemoryFile实例);所有描述符都受共享的最大限制 ; 当超过该数量时,您的应用程序开始遇到严重问题.在这种情况下,使进程死亡是最佳方案,因为否则内核将耗尽内存(文件描述符存储在内核内存中).
您可能会遇到没有关闭描述符(文件,网络连接)的问题.你必须尽快关闭它们.您可能还遇到内存泄漏问题 - 对象在应该进行垃圾收集时(而某些泄漏的对象可能会依次保留在文件描述符上).
您自己的代码不必是有罪的,您使用的库甚至一些系统组件可能有错误,导致内存泄漏和文件描述符泄漏.我建议你使用Square的Leak Canary - 一个简单易用的库来自动检测泄漏(好吧,至少是内存泄漏,这是最常见的).
| 归档时间: |
|
| 查看次数: |
11403 次 |
| 最近记录: |