たくさんのアクティビティがあるアプリケーションがあります。これらのアクティビティの多くは他のアクティビティを開始できるため、ユーザーは非常に大きなアクティビティスタックを生成することが期待されます。
現在、デフォルトのアクティビティ起動動作を使用しています。大きなアクティビティスタック(> 100など)が問題になるかどうかを誰かが知っていますか?これに制限はありますか?パフォーマンスが低下したり、ANRダイアログが発生したりしますか?
ありがとう
たくさんのアクティビティがあるアプリケーションがあります。これらのアクティビティの多くは他のアクティビティを開始できるため、ユーザーは非常に大きなアクティビティスタックを生成することが期待されます。
現在、デフォルトのアクティビティ起動動作を使用しています。大きなアクティビティスタック(> 100など)が問題になるかどうかを誰かが知っていますか?これに制限はありますか?パフォーマンスが低下したり、ANRダイアログが発生したりしますか?
ありがとう
Androidは、メモリやその他のリソースを解放する必要がある場合、アクティビティを強制終了します。アクティビティライフサイクルごとに、アクティビティは表示されなくなるとすぐに殺される資格があります。
アクティビティの強制終了と再開を正しく処理していると仮定すると、問題はないはずです。
余談ですが、1つのアプリで100を超えるアクティビティにアクセスするという、ユーザーの観点からのユースケースを考え出すのに苦労しています...
マイラの推論はこの問題に対して間違っています。Androidは、現在実行中のアプリケーションとは異なるアプリケーションからのアクティビティである限り、スタックからアクティビティを強制終了します。
したがって、アプリケーションが100個のアクティビティを開くと、100個がスタックに保持され、おそらくOutOfMemoryErrorが見つかります。
アプリの構造を変えてみてください。