0

私は現在、Android 開発に関するいくつかのビデオ チュートリアルに従っています。8 番目のチュートリアルまではうまくいき、スプラッシュ スクリーンを作成し、2 秒後にメイン アプリケーションに移動するはずです。問題は、2 秒後に画面が真っ暗になり、アプリがクラッシュすることです。

Logcat 出力

私は彼が行ったのとまったく同じようにチュートリアルに従いました。私のものとの唯一の違いは、2.2 ではなく 4.2 用に開発していることです。また、エミュレーターの代わりに Galaxy Note 2 を使用してテストしています。

私は彼と同じようにそれをすべて行い、再生を押すと、アプリが私のデバイスで開き、スプラッシュスクリーンが2秒間表示され(私は2000に設定しました)、スピナー(追加したもの)がフリーズしました。The screen goes black, and then it crashes and says "Unfortunately, The Basic Series has stopped."

sleep(2000)と の両方を試しましたThread.sleep(2000)

AndroidManifest.xmlと のコードmain.javaこちら

誰かが興味を持っているなら、これは私がフォローしていたビデオです.

4

2 に答える 2

0

いくつかの初期化を行う必要がある場合は、AsyncTaskを使用するか、完了時にActivity.runOnUiThreadを使用するスレッドを使用します(UI 操作の実行時にクラッシュしないようにするため)。

スプラッシュ スクリーンを表示し、しばらくしてから閉じる必要がある場合は、Handler.postDelayedを使用します。

考えられるすべての解決策で、onPause/onDestroy (実行/必要に応じて) でそれらをキャンセルすることを忘れないでください。これにより、ユーザーがアプリを離れた (終了またはバックグラウンドで放置した) 場合、アプリは開きません。彼がそれを再開したときに、新しいアクティビティをアップします (または、さらに悪いことに、バックグラウンドに移行している間にそれを表示します)。

于 2013-02-15T12:25:25.550 に答える
0
  1. いくつかの準備操作を行うために本当に必要な場合を除いて、スプラッシュ画面は避けてください..
  2. スレッド スリープを回避しないと、ANR クラッシュが発生します (代わりに遅延を伴う post runnable を使用してください)
  3. このヒントは読まないでください: あなたのアクティビティ クラス名は何ですか? メニュー、メニュー、メニュー、またはuNeM?
  4. あまり良くないチュートリアル

  5. 名誉ある言及ではありません: もしあなたが本当にこれをやりたいのなら (ところで推奨されない方法です) 8:48 のビデオをチェックし、catch 句を追加して例外をログに記録してみてください.

于 2013-02-15T11:33:45.833 に答える