1

次のようなレイアウトがあります。


|       Header                            |
___________________________________________
|               |                          |    
|               |                          |
| List of user  | Fragment with Details    |
|               | [Contains ListView]      |
|               |                          |
|               |                          |
___________________________________________
     Footer
___________________________________________     

ユーザーのヘッダー、フッター、および ListView が主なアクティビティです。右側には、左側のリストビューで選択されたユーザーのリスト ビューを持つフラグメントが含まれています。

フラグメント内のリスト ビューを更新する際のパフォーマンスの問題に直面しています。ユーザーをクリックした後、リストが右側で更新されるのを確認するために、ほぼ 7 ~ 8 秒待つ必要があります。

ただし、すべてを同じアクティビティの一部にすると、つまり、ListView の詳細でさえフラグメントではなくアクティビティに含まれる場合 (したがって、フラグメントの使用を削除する場合)、同じものが非常に高速に応答します。1 ~ 1.5 秒に短縮されます。詳細セクションでは、ユーザーモードに基づいてさまざまな種類の情報を表示したいので、フラグメントを使用する必要があります。そして、対応する詳細のそれぞれは、それぞれのフラグメントにある可能性があります。

フラグメントを使用して、どこに時間がかかっているかを把握しようとしました。そして、detaillistview.setAdapter または対応する adapter.notifyDatasetChanged を実行すると時間がかかります。メモリ内に対応するデータがあり、入力データでリストを更新するだけでよいため、データの準備にかかる時間はありません。

コードを介して動的にxmlにフラグメントを追加しようとしました。コードを介して動的に行った場合、xml にはフラグメントがありませんが、コードを介してフラグメントを追加するときに親として使用するプレースホルダー レイアウト領域があります。パフォーマンス自体は同様の応答です。

パフォーマンスを向上させるにはどうすればよいか知りたいです。

ありがとう

4

0 に答える 0