アクティビティでこの奇妙な問題に遭遇しました。この理由はどこかに文書化されていると確信していますが、これまでの検索努力は無駄でした.
問題を要約するonCreate()
と、アクティビティが一時停止状態にあるときに my が呼び出されています。私が見たすべてのライフサイクルフロー図によると、これは決して起こらないはずです。
これが(私が思うに)私のマニフェストからの関連情報です:
<activity
android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:mimeType="text/xml" />
<data android:mimeType="application/xml" />
<data android:pathPattern=".*\\.xml" />
</intent-filter>
</activity>
アイコンをクリックして、通常の方法でアプリケーションを起動するとします。次にホームボタンを押しました。OSが呼び出していることがわかりますが、そうではありonPause()
ませんonDestroy()
。これは私が期待していることです。
この時点で xml ファイルを見つけ、自分のアプリケーションを使用してそれを開くと、onCreate()
呼び出されていることがわかります - なぜこれが起こるのですか?
onCreate()
かなり大きなメモリ キャッシュをフラグメントとして初期化し、その後の起動で findFragmentByTag が null を返すという事実がなければ、おそらく気付かなかったでしょう。これと私はOutOfMemory
例外になります。
うまくいけば、誰かがこれに光を当てることができます。
ありがとう、
ルー