3

いつ使用するかの具体的な例を探していますlaunchMode="singleInstance"。私がどこで読んでも、それを使うべき場面はほとんどないと言われています。だから私は例を見たことがないことに驚いています!!

私が見つけた最も近い説明は次のとおりです。

[it] は、完全に 1 つのアクティビティとして実装されるアプリケーションでのみ使用する必要があります

しかし、もしそうだとすれば、Android の公式ドキュメントではなぜこれほど簡潔に表現されていないのでしょうか。

だから私の質問は:

  1. これは本当にsingleInstance使用すべき唯一のケースですか?
  2. 上記が を使用する十分な理由ではない状況はありsingleInstanceますか?
  3. singleInstanceを使用することをお勧めする具体的な例
  4. この質問singleInstanceのような不適切な使用による望ましくない副作用
4

1 に答える 1

1

この記事によると:

一度に 1 つの AlarmAlert アクティビティのみで、常に独自のタスクです。起動する可能性のあるものはすべて、別のタスク スタックの一部になります。

しかし、この情報は非推奨です。Marshmallow がcom.android.deskclock.timer.TimerAlertFullScreensingleInstance 起動モードでアクティビティとして使用されていることがわかりました。

<activity
             android:name="com.android.deskclock.timer.TimerAlertFullScreen"
             android:excludeFromRecents="true"
             android:theme="@style/TimerAlertFullScreenTheme"
             android:launchMode="singleInstance"
             android:showOnLockScreen="true"
             android:taskAffinity=""
             android:configChanges="screenSize|keyboardHidden|keyboard|navigation"/>

ここにリンクがあります。

于 2016-08-23T09:40:02.187 に答える