1

私のプロダクションAndroidアプリはこの例外をスローします。クリッターシズムを分析したところ、非同期タスクの多くが完了していないことに気付きました。彼らはしがみついていた

ClientSession.java:361

responseMessage = (AMessageStrategy) objectInputStream.readObject();

ClientSession.java:321

objectInputStream = new ObjectInputStream(new BufferedInputStream(inputStream));.

SOに関する調査を行ったところ、このリンクが見つかりました。しかし、RejectedExecution とハングの問題を関連付ける SO の質問は見つかりませんでした。したがって、この質問。

org.apache.harmony.luni.platform.OSNetworkSystem.read(Native Method)
dalvik.system.BlockGuard$WrappedNetworkSystem.read(BlockGuard.java:273)
org.apache.harmony.luni.net.PlainSocketImpl.read(PlainSocketImpl.java:461)
org.apache.harmony.luni.net.SocketInputStream.read(SocketInputStream.java:85)
org.apache.harmony.luni.net.SocketInputStream.read(SocketInputStream.java:65)
java.io.BufferedInputStream.fillbuf(BufferedInputStream.java:140)
java.io.BufferedInputStream.read(BufferedInputStream.java:324)
java.io.DataInputStream.readToBuff(DataInputStream.java:159)
java.io.DataInputStream.readShort(DataInputStream.java:375)
java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:2365)
java.io.ObjectInputStream.<init>(ObjectInputStream.java:433)
com.mcruiseon.common.communication.ClientSession$SendQueue.<init>(ClientSession.java:321)

org.apache.harmony.luni.platform.OSNetworkSystem.read(Native Method)    
dalvik.system.BlockGuard$WrappedNetworkSystem.read(BlockGuard.java:273)
org.apache.harmony.luni.net.PlainSocketImpl.read(PlainSocketImpl.java:461)
org.apache.harmony.luni.net.SocketInputStream.read(SocketInputStream.java:85)
org.apache.harmony.luni.net.SocketInputStream.read(SocketInputStream.java:65)
java.io.BufferedInputStream.fillbuf(BufferedInputStream.java:140)
java.io.BufferedInputStream.read(BufferedInputStream.java:225)
java.io.FilterInputStream.read(FilterInputStream.java:115)
java.io.ObjectInputStream.checkReadPrimitiveTypes(ObjectInputStream.java:466)
java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:899)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:2262)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:2217)
com.mcruiseon.common.communication.ClientSession$SendQueue.run(ClientSession.java:361)

私は持っている

  • outputstream create の直後にフラッシュする
  • 入力ストリームの前に出力ストリームを作成する
  • 書き込み直後のフラッシュ

それでも問題は解決しません。これは、製品を製造してから 2 か月後に発生したランダムなエラーです。アイデアはありますか?

4

2 に答える 2