2012-03-06 13 views
28

जब मेरे एप्लिकेशन में परीक्षण एंड्रॉयड प्लेटफॉर्म में चल मैं एक त्रुटि मिली से इनपुट चैनल फ़ाइल वर्णनकर्ता नहीं पढ़ा जा सका:पार्सल

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

यह एंड्रॉइड में बग है: https://code.google.com/p/android/issues/detail?id=32470 – pixel

+3

यह प्रश्न खुला होना चाहिए। – neferpitou

उत्तर

2

इस अपवाद के कारण हो सकता है कि दायर की गई है, इसलिए दायर की गई है, क्योंकि फाइल को दूसरी प्रक्रिया के माध्यम से खोल दिया गया था। अगर विभिन्न प्रक्रियाएं किसी अन्य प्रक्रिया से संबंधित दायरलेखक को पढ़ने की कोशिश करती हैं, तो इसे पढ़ने के दौरान अपवाद फेंक देगा।

+0

उत्तर के लिए धन्यवाद। एक कैसे सुनिश्चित कर सकता है कि यह एक ही प्रक्रिया से किया गया है? –

+1

असल में यह सुनिश्चित करने का कोई निश्चित तरीका नहीं है कि आप केवल तब तक हैं, जो फ़ाइल के साथ सभी संचालन कर रहे हैं (डेटा पढ़ने के लिए खोलने का मतलब है)। फ़ाइल को पहली बार खोलते समय, आपको प्रक्रिया आईडी को बनाए रखने की आवश्यकता होती है और पढ़ने के समय, वर्तमान चल रही प्रक्रिया प्राप्त करें, फिर इसे जांचें। –

4

कभी-कभी ऐसा होता है जब मैं ऐप खोलता हूं, बाहर निकलता हूं और फिर से खोलता हूं। मुद्दा मेरे पास है कि मैं SoundManager पर सफाई चलाने के लिए भूल गया है:

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

तुम कुछ स्मृति में अभी भी चल रहा है कि आप दो बार अब समाप्त हो गया है होना आवश्यक है।

संबंधित मुद्दे