0

私はこのバグに何日も苦労しています。このバグはまれに発生する可能性が高く、なぜこれが発生するのかわかりません。

何が起こるか:

分割画面モード (上部にある私のアプリと下部に別のアプリ) では、特定のアクティビティが終了すると、バックスタック アクティビティ (私の場合は主に MainActivity)onStart()が呼び出されることはなく、分割画面モードはアプリが停止しているため終了したように見えます。しかし、概要ボタンはまだ分割画面モードのように見え、分割画面ボタンをタップすると、MainActivityonStart()が最終的に呼び出され、再び分割画面モードに戻ります。

ログは次のようになります

MainActivity onStop() ProblematicActivity onCreate() ... ProblematicActivity onDestroy() //and nothing!

これは、次の条件下では発生しません。

  1. 問題のあるアクティビティが非分割画面モードで呼び出されたが、分割画面モードで終了した場合。(resumedとの両方paused)
  2. 問題のあるアクティビティが分割画面モードで呼び出されたが、アプリがタップされた (つまり、アクティビティがresumed状態になっている) 場合

これは、次の場合にのみ発生します。

  1. 問題のあるアクティビティが分割画面モードで開始され、アクティビティがタップされていない (つまり、アクティビティがpaused状態になっている)

アクティビティのライフサイクル コールバックを徹底的にチェックし (少なくともそう思う)、ログを何度も調べましたが、BackStack アクティビティが呼び出されない理由がわかりません。

検索してみましたが、あまり参考になる情報はありませんでした。誰かが私のような経験/問題を抱えていましたか?

ありがとう。

追加情報

私のアクティビティスタックは次のようになります

MainActivity
アクティビティ 2
アクティビティ 1
フラグメント 1

サーバーは機能を開始するためにアプリを送信し、その後アクティビティ 2 を開始し、アクティビティ 1 を開始し、フラグメント 1 はアクティビティ 1 にあります (ユーザーが実際に見るのはフラグメント 1 です) アクティビティとフラグメントはアクティビティ 2 まで十分に破棄されます。しかし、そこから MainActivity (またはそれがどんなアクティビティであっても) は AndroidSystem が決して呼び出さないため、表示されませんonStart

4

1 に答える 1

0

Android OS の不具合であることが判明しました。

Google の応答は次のとおりです。

こんにちは、
私たちはこの問題を開発チームに伝えました。この問題は、利用可能になり次第、より多くの情報で更新されます。
ありがとう

問題のリンク:

https://code.google.com/p/android/issues/detail?id=231337&can=1&q=reporter%3Aadobecs5&colspec=ID%20Status%20Priority%20Owner%20Summary%20Stars%20Reporter%20Opened

于 2017-01-05T09:16:53.343 に答える