2011-10-25 2 views
5

を閉じたことがないとき、自分のアプリケーションの実行:リークが見つかりました:AndroidHttpClientが作成され、私は本当に私のコード内の任意の場所に<a href="http://developer.android.com/reference/android/net/http/AndroidHttpClient.html" rel="noreferrer">AndroidHttpClient</a>をインスタンス化していないが、私はいくつかの点で、この例外を生成、認識の意図を、開始行う

Leak found 
java.lang.IllegalStateException: AndroidHttpClient created and never closed 
    at android.net.http.AndroidHttpClient.<init>(AndroidHttpClient.java:152) 
    at android.net.http.AndroidHttpClient.newInstance(AndroidHttpClient.java:138) 
    at com.google.android.voicesearch.speechservice.SpeechServiceHttpClient.<init>(SpeechServiceHttpClient.java:59) 
    at com.google.android.voicesearch.speechservice.ServerConnectorImpl.<init>(ServerConnectorImpl.java:85) 
    at com.google.android.voicesearch.VoiceSearchContainerImpl.createRecognitionController(VoiceSearchContainerImpl.java:83) 
    at com.google.android.voicesearch.GoogleRecognitionService.onCreate(GoogleRecognitionService.java:65) 
    at android.app.ActivityThread.handleCreateService(ActivityThread.java:2066) 
    at android.app.ActivityThread.access$2500(ActivityThread.java:123) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:993) 
    at android.os.Handler.dispatchMessage(Handler.java:99) 
    at android.os.Looper.loop(Looper.java:130) 
    at android.app.ActivityThread.main(ActivityThread.java:3835) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:507) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605) 
    at dalvik.system.NativeStart.main(Native Method) 
バグを想定し

は、Androidのコードではありませんが、私の中で、このリークしたリソースは、次のいずれかで作成されている可能性が:

  1. SpeechRecognizer.createSpeechRecognizer()
  2. new RecognitionListener()
  3. new Intent(SpeechRecognizer.RESULTS_RECOGNITION)
  4. SpeechRecognizer.startListening(recognizerIntent)

しかし、どのように私は1知っているのですか?バグを想定し

答えて

6

は、Androidのコードではなく、あなたのコードではありません鉱山

漏れがcom.google.android.voicesearchである、ではありません。

このリークを示す小さなサンプルプロジェクトを作成することができれば、Googleに問題が発生し、その問題に対処することができます。

1

なぜAndroidに搭載されていないと思われますか? SpeechRecognizerRecognitionListenerはASOPにありますので、チェックすることができます(そこにはありません)。おそらくSpeechServiceHttpClientは内部でAndroidHttpClientを使用しています。できることはあまりありませんが、使用しているフレームワーククラスのすべての終了メソッド(close()、shutdown()など)が呼び出されていることを確認してください。

+0

Nikolay Elenkovと@CommonsWareありがとうございました。 – srf

関連する問題

 関連する問題