2016-05-30 5 views
1

「doInBackground」は実行可能ファイルから呼び出されたときに起動しないようです。誰かが私のコードで助けてもらえますか?アンドロイド:Runnableからの非同期タスク - 「アクティビティは元々ここに追加されたウィンドウをリークしました」

このリンクは、バックグラウンド/実行可能タスクの一般的な流れを示しています。 lucidchart * COM /招待/承諾/ 1edf5782-b8d5-4ee6-bc37-4eb3bbfe56a9

はそれがしようとしているようなエラーが起こっているようです(また、私はまた、スクリーンショットになり、すべての以下の投稿。私のエラー+のノートを持っています) nullファイルで作業すると、ファイルが削除される前の実行が実行されているように見えますが、doInBacgroundはファイルが再構築されていない状態です。

「doInBackground」が実行されていないため、問題がdialogue.show/dismissに追いついているようです。

デバッグするとき、私は非同期クラスでこの例外に着陸:(上記のリンクから立派に見える)

05-30 12:59:25.955 3869-4517/com.eoinpayne.crop.cropapp E/AndroidRuntime: FATAL EXCEPTION: Thread-220 
                      Process: com.eoinpayne.crop.cropapp, PID: 3869 
                      java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference 
                       at libcore.net.UriCodec.encode(UriCodec.java:132) 
                       at java.net.URLEncoder.encode(URLEncoder.java:57) 
                       at com.eoinpayne.crop.cropapp.DBScraper_userVeg.run(DBScraper_userVeg.java:44) 
                       at java.lang.Thread.run(Thread.java:818) 
05-30 12:59:26.089 3869-3877/com.eoinpayne.crop.cropapp W/art: Suspending all threads took: 70.972ms 
05-30 12:59:26.113 3869-3882/com.eoinpayne.crop.cropapp I/art: Background partial concurrent mark sweep GC freed 944(142KB) AllocSpace objects, 0(0B) LOS objects, 39% free, 1612KB/2MB, paused 2.051ms total 149.697ms 
05-30 12:59:26.476 3869-3909/com.eoinpayne.crop.cropapp W/EGL_emulation: eglSurfaceAttrib not implemented 
05-30 12:59:26.476 3869-3909/com.eoinpayne.crop.cropapp W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0x7fe768cb1f80, error=EGL_SUCCESS 
05-30 12:59:26.686 3869-3909/com.eoinpayne.crop.cropapp W/EGL_emulation: eglSurfaceAttrib not implemented 
05-30 12:59:26.686 3869-3909/com.eoinpayne.crop.cropapp W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0x7fe768e1c2c0, error=EGL_SUCCESS 
05-30 12:59:27.846 3869-3869/com.eoinpayne.crop.cropapp I/Choreographer: Skipped 34 frames! The application may be doing too much work on its main thread. 
05-30 12:59:27.922 3869-3869/com.eoinpayne.crop.cropapp E/WindowManager: android.view.WindowLeaked: Activity com.eoinpayne.crop.cropapp.HomeActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{1cc88f9b V.E..... R......D 0,0-1026,422} that was originally added here 
                      at android.view.ViewRootImpl.<init>(ViewRootImpl.java:363) 
                      at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:271) 
                      at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85) 
                      at android.app.Dialog.show(Dialog.java:298) 
                      at com.eoinpayne.crop.cropapp.HomeActivity$HomeBackgroundTask.onPreExecute(HomeActivity.java:194) 
                      at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:591) 
                      at android.os.AsyncTask.execute(AsyncTask.java:539) 
                      at com.eoinpayne.crop.cropapp.HomeActivity.onCreate(HomeActivity.java:82) 
                      at android.app.Activity.performCreate(Activity.java:5990) 
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
                      at android.app.ActivityThread.access$800(ActivityThread.java:151) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                      at android.os.Looper.loop(Looper.java:135) 
                      at android.app.ActivityThread.main(ActivityThread.java:5254) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at java.lang.reflect.Method.invoke(Method.java:372) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 

私の呼び出しの構造:

@MainThread 
public final AsyncTask<Params, Progress, Result> executeOnExecutor(Executor exec, 
     Params... params) { 
    if (mStatus != Status.PENDING) { 
     switch (mStatus) { 
      case RUNNING: 
       throw new IllegalStateException("Cannot execute task:" 
         + " the task is already running."); 
      case FINISHED: 
       throw new IllegalStateException("Cannot execute task:" 
         + " the task has already been executed " 
         + "(a task can be executed only once)"); 

エラーをデバッグするとき はこのエラーを取得:i.stack.imgur * com/plPmA.png

私のコードのpastebinsで投稿を編集します

The code that calls it: 
     try { 
      BuildFile_userVeg buildFile = new BuildFile_userVeg(ctx); 
      buildFile.execute(json); 
     } catch (Exception e){ 
      e.printStackTrace(); 
     } 

答えて

0

has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{1cc88f9b V.E..... R......D 0,0-1026,422} that was originally added here

:私は10の評判を持っていないよう 私は一種のdoInBackgroundが動作しないこの困難な

非同期タスクを作る。..以上の2つのリンクを投稿することはできません

この例外は、アクティビティがダイアログを開き、最初にダイアログを閉じることなく、Cosが閉じられた場合に発生します。問題の

しかし、本当の理由はここに

NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference

ある単にあなたには、いくつかのオブジェクトの長さを取得しようとしていることを意味していますが、オブジェクトは現在、nullです。投稿したコードが十分でないため、エラーの正確な理由を知ることができません。

+0

こんにちは、はい.DoInBackgroundが起動していないため、nullPointerExceptionが発生します。 (私が持ってきた例外についてはポストを参照してください)。 doInBackgroundは別のクラスが使用するファイルをビルドします。ファイルがなければnullになります。 –

関連する問題