0

ゲームが終了するまでループで実行し続ける asyncTask を開始するアクティビティがあります (4 プレイヤー ゲーム)。

問題は、ゲームの途中でインタースティシャル広告を導入したことです (Admob)。そのため、インタースティシャルを開始して閉じると、InterruptedException が ayncTask に送信されて終了することに気付きました。広告が表示されると、現在のアクティビティで onpause が呼び出され (おそらく)、この例外が生成されるのではないかと思います。ただの理論です。しかし、いずれにせよ、なぜこれが起こっているのですか?この例外を回避するにはどうすればよいですか? /asyncTask スレッドが終了しないようにするにはどうすればよいですか?

ありがとうございました

4

1 に答える 1

0

インタースティシャルが表示されると、現在のアクティビティの上に表示されます。これにより、現在のアクティビティに対して #onPause が呼び出されます。

その時点で、使用しているすべてのリソース (AsyncTask や Thread など) を一時停止し、#onResume で再開する必要があります。#onPause コードが原因で AsyncTask が中断されている場合は、それに対処する必要があります。

Morrison が上で述べたように、私はゲーム中にインタースティシャルを表示したり、ゲーム スレッドに AsyncTask を使用したりしません。AsyncTask は、バックグラウンド操作の後に UI スレッドで操作を実行する場合に便利です。あなたのゲーム スレッドには、それよりも複雑さが必要だと思います。

于 2013-09-26T08:05:04.690 に答える