0

アクティビティに戻るときにアプリがクラッシュするのに問題があります。Android onStopは仕事をしなくてもタイムアウトします

私は電話(またはエミュレータ)onPause、onSaveInstanceState、およびonStopは、すべてのライフサイクルごとに呼ばれているホームボタンを離して移動する場合は、次の活動の

05-05 14:12:20.790 2043-2043/? I/myview: onPause was run 
05-05 14:12:20.790 2043-2043/? I/myview: onSaveInstanceState was run 
05-05 14:12:20.790 2043-2043/? I/myview: onStop was run 

コード:

@Override 
    protected void onPause(){ 
     super.onPause(); 
     Log.i("myview", "onPause was run"); 
    } 

    @Override 
    protected void onStop(){ 
     super.onStop(); 
     Log.i("myview", "onStop was run"); 
    } 

    @Override 
    public void onSaveInstanceState(Bundle savedInstanceState) { 
     // Always call the superclass so it can save the view hierarchy state 
     super.onSaveInstanceState(savedInstanceState); 
     Log.i("myview", "onSaveInstanceState was run"); 
    } 

は、しかし、10秒後に次のように報告されます。

05-05 14:12:31.420 1586-1601/? W/ActivityManager: Activity stop timeout for ActivityRecord{9d354dc0 u0 com.example.gavin.youdrowned/.MainActivity t2} 
05-05 14:12:31.420 1586-1601/? I/ActivityManager: Activity reported stop, but no longer stopping: ActivityRecord{9d354dc0 u0 com.example.gavin.youdrowned/.MainActivity t2} 

私がナビゲートすることができますよアクティビティに戻りますが、onResumeまたはonCreateは呼び出されません。

私はそれと対話しようとするまで、アプリケーションは期待どおりフルスクリーンで実行されます。タップ/画面をクリックすると、約5秒ほど後に発生する次のエラーが発生します。

05-05 14:12:31.420 1586-1601/? E/ActivityManager: ANR in com.example.gavin.youdrowned (com.example.gavin.youdrowned/.MainActivity) 
                PID: 2043 
                Reason: Input dispatching timed out (Waiting because the touched window has not finished processing the input events that were previously delivered to it.) 
                Load: 0.54/0.13/0.04 
                CPU usage from 2796ms to -2455ms ago: 
                86% 2043/com.example.gavin.youdrowned: 11% user + 74% kernel/faults: 193 minor 1 major 
                49% 1586/system_server: 0.1% user + 48% kernel/faults: 874 minor 
                2% 1162/surfaceflinger: 0% user + 2% kernel/faults: 7 minor 
                0.1% 1160/debuggerd: 0.1% user + 0% kernel/faults: 3473 minor 12 major 
                0.3% 1165/mediaserver: 0% user + 0.3% kernel/faults: 15 minor 
                0.3% 1173/adbd: 0% user + 0.3% kernel/faults: 216 minor 
                0.3% 1938/com.google.android.gms: 0% user + 0.3% kernel/faults: 62 minor 
                0.1% 1186/logcat: 0% user + 0.1% kernel 
                0.1% 1708/com.google.android.gms.persistent: 0% user + 0.1% kernel/faults: 22 minor 
                0.1% 1746/com.android.phone: 0.1% user + 0% kernel/faults: 98 minor 
                +0% 2373/com.google.android.gms.ui: 0% user + 0% kernel 
                71% TOTAL: 7.8% user + 63% kernel 
                CPU usage from 1945ms to 2451ms later: 
                98% 1586/system_server: 0% user + 98% kernel/faults: 1 minor 
                 96% 1622/Thread-35: 0% user + 96% kernel 
                 1.9% 1601/ActivityManager: 0% user + 1.9% kernel 
                98% 2043/com.example.gavin.youdrowned: 12% user + 86% kernel/faults: 4 minor 
                 98% 2088/Thread-62: 12% user + 86% kernel 
                +0% 2401/AudioTrack: 0% user + 0% kernel 
                1.6% 1162/surfaceflinger: 0% user + 1.6% kernel 
                100% TOTAL: 6% user + 94% kernel 

onResumeが呼び出されないされないとonStopタイムアウトがタッチイベントISN」の裏にANRのエラーを示すように思われますしかし、onStopは、それが呼び出されたと言うログ以外の作業はしません。

私はこの問題の原因やデバッグのための見通しがわからないので、どんな洞察力があれば幸いです。変更推測オン・オフ電源の数ヶ月後

+0

あなたが解放する義務があるものの、それを実行していないリソースを取得しましたか? – azizbekian

+0

私が考えることができる唯一の事はSoundPoolですが、それをリリースすることは問題に影響しませんでした。 – Gavin

答えて

0

holder.getSurface().unlockCanvasAndPost(c); 

holder.unlockCanvasAndPost(c); 

に画面の更新を管理するコードでは、この問題を修正しているようです。

関連する問題