私は準備ができるまでユーザーインターフェイスを「プリロード」する方法はありますか?背景での活動
私は、action_screen_onが発生するのを待ち受ける受信機を持つサービスを持っています。それが起こると、私はアクティビティをロードしたいと思います。しかし、今のように、ロードには約1秒かかります。画面をオンにしたときにレイアウトができるだけ早くロードされるように、レイアウトを事前にプリロードしたいと思います。
私は準備ができるまでユーザーインターフェイスを「プリロード」する方法はありますか?背景での活動
私は、action_screen_onが発生するのを待ち受ける受信機を持つサービスを持っています。それが起こると、私はアクティビティをロードしたいと思います。しかし、今のように、ロードには約1秒かかります。画面をオンにしたときにレイアウトができるだけ早くロードされるように、レイアウトを事前にプリロードしたいと思います。
このアクティビティを実行するインテントに渡すフラグをチェックするだけで、(Intent.FLAG_ACTIVITY_SINGLE_TOP)
を渡すことを確認してください。これは、アクティビティマネージャがそのアクティビティの新しいインスタンスを作成しないことを確認しますアクティビティスタックには既に存在しますが、フロントにはありません。これにより、このブロードキャストを受信するたびに(onCreate)を呼び出すことが回避され、既に実行中のアクティビティで(onResume)が呼び出されます。
ただし、最初にそのアクティビティを昼食するときに1秒の遅延が表示されます。この問題を解決するには、プロファイラを実行し、なぜこの多くの時間を費やしているのかを確認し、忘れないでください。エミュレータは一般的に遅いです。
まず、自分のアクティビティの表示を最適化することをおすすめします。プロファイラを実行します。 1秒は長い時間です。それを減らすためにできることはおそらくたくさんあります。