2012-03-06 35 views
28

からの入力チャンネルのファイル記述子を読み取れませんでした:は、Androidプラットフォームに私のアプリでテストを実行しているとき、私はエラーを得た小包

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:803) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:570) 
at dalvik.system.NativeStart.main(Native Method) 

を私は知ら `tの私はそれがAndroidプラットフォームでエラーことができると思いますか?あなたはそれが何であると思いますか?

+5

このクラッシュはあいまいです。これを議論する必要があります。 – Siddharth

+8

Androidのバグです:https://code.google.com/p/android/issues/detail?id=32470 – pixel

+3

この質問は開いているはずです。 – neferpitou

答えて

2

この例外は、filediscriptorプロセスからのデータを読み取るために、そのファイルが別のプロセスを介して開いているため、異なる可能性があります。異なるプロセスが別のプロセスに属するfilediscriptorを読み取ろうとすると、読み取り中に例外がスローされます。

+0

答えをありがとう。どのようにして同じプロセスから行われたことを確認できますか? –

+1

実際には、あなたがたった今、ファイルを使ってすべての操作を行う(データを開くことから読み取ることを意味する)まで、確実にする方法はありません。ファイルを最初に開いている間は、プロセスIDを保持し、読み込み時に現在の実行中のプロセスを取得してから、クロスチェックを行う必要があります。 –

4

これは、アプリケーションを開いたり、終了したり、再度開いたりするときに発生することがあります。私が持っている問題は、私はSoundManager上でクリーンアップを実行するのを忘れていることです:

public static void cleanup() { 
    mSoundPool.release(); 
    mSoundPool = null; 
    mSoundPoolMap.clear(); 
    mAudioManager.unloadSoundEffects(); 
    _instance = null; 
} 

あなたは今、二回実行されたメモリでまだ実行中の何かを持っている必要があります。

関連する問題