0

私は現在、最初の Android アプリを実装しています。デバッグと開発は通常はうまくいきますが、コードにいくつかの変更を加えてから、Eclipse 環境から (仮想デバイスに対して) アプリを再起動するときに問題が発生することがあります。

私が理解している限り、新しい開始はエミュレーターで現在実行中のアプリのバージョンを終了します。それは問題ありませんが、これは正しい終了ですか? アプリで処理する必要のあるイベントが発生していますか?

なぜ私は尋ねているのですか?私の問題は、エミュレーターで現在アクティブになっているほとんどのアクティビティで、アプリが正しく終了し (なくなって)、新しいバージョンが正常に開始されることです。しかし、約 2 つのアクティビティがアクティブで、Eclipse からアプリを「再起動」すると、「残念ながら APP が停止しました」というメッセージ ボックスが数秒間表示され、これらのアクティビティがおそらく何かを実行する必要があることがわかります。それらのデストラクタは、終了によって何らかのクラッシュが発生するため、何かまたは何でも初期化を解除します。これを検出する方法、これをデバッグする方法は? アプリを再起動すると、古いバージョンのデバッガーが切断されるため、役に立ちません。私が見ることができるのはlogcat例外コールスタック情報だけですが、あまり役に立ちません:

01-19 11:19:16.352: E/AndroidRuntime(1424): FATAL EXCEPTION: main
01-19 11:19:16.352: E/AndroidRuntime(1424): java.lang.RuntimeException: Unable to instantiate application android.app.Application: java.lang.NullPointerException
01-19 11:19:16.352: E/AndroidRuntime(1424):     at android.app.LoadedApk.makeApplication(LoadedApk.java:504)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4364)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at android.app.ActivityThread.access$1300(ActivityThread.java:141)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1294)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at android.os.Handler.dispatchMessage(Handler.java:99)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at android.os.Looper.loop(Looper.java:137)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at android.app.ActivityThread.main(ActivityThread.java:5039)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at java.lang.reflect.Method.invokeNative(Native Method)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at java.lang.reflect.Method.invoke(Method.java:511)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at dalvik.system.NativeStart.main(Native Method)
01-19 11:19:16.352: E/AndroidRuntime(1424): Caused by: java.lang.NullPointerException
01-19 11:19:16.352: E/AndroidRuntime(1424):     at android.app.LoadedApk.initializeJavaContextClassLoader(LoadedApk.java:379)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at android.app.LoadedApk.getClassLoader(LoadedApk.java:322)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at android.app.LoadedApk.makeApplication(LoadedApk.java:496)
01-19 11:19:16.352: E/AndroidRuntime(1424):     ... 11 more
4

1 に答える 1