1
  • コードで動的に作成されたボタンのリストを持つアプリケーションがあります。これらのボタンの 1 つがクリックされると、同様のボタンのリストを含む新しいアクティビティがスタックの一番上に追加されます。
  • これらのボタンのリストはそれぞれ、縦向きと横向きで異なるビューを持っているため、OnConfigurationChanged をオーバーライドして既存のボタンを更新します。これは、ビュー自体を再作成するよりも高速であるためです。
  • 2 番目のビューの向きが変わると、前のアクティビティがバックグラウンドにある場合でも、リスト内のボタンに変更が加えられます。
  • 2 番目のアクティビティも透明で、前のアクティビティを透かして見ることができます。通常、2 番目のアクティビティから最初のアクティビティは表示されませんが、2 番目のアクティビティ全体が Horizo​​ntalScrollView にあり、ユーザーは画面からビューをスライドさせてアクティビティを終了し、最初のアクティビティに戻ることができます。
  • 問題は、各アクティビティに何百ものボタンがあり、方向の変更時に両方のアクティビティが更新されている場合、処理が大幅に遅くなることです。

私のすべてのケースで、向きの変更時に更新されるアクティビティが 1 つだけであれば、物事はスムーズに進むことに気付きました。以前のアクティビティの変更 OnConfigurationChange を延期したり、これを一般的にスピードアップしたりする方法はありますか?

4

0 に答える 0