画面に一連の複雑なビューが表示されており、実行時にビューを動的に切り替える必要があります。これは、ビューを削除して新しいビューを追加することによって行います (場合によっては、可視性を設定するだけです)。
ここでの問題は、ビューのレンダリングに非常に長い時間がかかることです (7 ~ 8 秒を超えます)。
メソッド内にタイムスタンプを入れましたが、それらはすべて非常に迅速に返されるようです。しかし、最後のメソッドが返された後でも、ビューはレンダリングされず、実際に表示されるまで待つ必要があります。その後、UI はかなり反応しなくなり、ANR
かなり頻繁に反応します。
なぜこんなに遅いのか、誰か指摘できますか?
を使用して、実行時にファイル システムから多くの画像をロードしていますDrawable.createFromPath()
。これが問題でしょうか?