Android 膨胀数据和显示视图需要很长时间

Android 膨胀数据和显示视图需要很长时间,android,android-fragments,Android,Android Fragments,我在应用程序中使用Fragements。该片段包含有关我从web获取的对象的一些详细信息。因此布局中有许多项,我需要将它们全部放大以设置数据。我使用asynchtask从web加载数据,然后使视图的主要片段可见。这是我的片段的oncreate方法的代码: 问题是应用程序加载布局并将数据设置为布局大约需要5秒钟。我正在寻找一种方法,如何对布局进行充气并设置数据,使应用程序在5秒钟内不会锁定。我不确定是否完全理解您的代码。 你想用下面这句话做什么 diagramContainers.post(new

我在应用程序中使用Fragements。该片段包含有关我从web获取的对象的一些详细信息。因此布局中有许多项,我需要将它们全部放大以设置数据。我使用asynchtask从web加载数据,然后使视图的主要片段可见。这是我的片段的oncreate方法的代码:


问题是应用程序加载布局并将数据设置为布局大约需要5秒钟。我正在寻找一种方法,如何对布局进行充气并设置数据,使应用程序在5秒钟内不会锁定。

我不确定是否完全理解您的代码。 你想用下面这句话做什么

diagramContainers.post(new Runnable() { ...
此调用不会创建新线程以在后台执行作业。它将仅在onCreate结束后执行。Maibe您的一些性能问题就是由此产生的

在我看来,创建新视图以将其添加到父布局的方式也是错误的。您不应该以编程方式创建这么多视图。您应该使用视图组/适配器模式cf链接。适配器将在内部管理视图,并在必要时重用视图。这可以大大提高您的性能

编辑:

您可以使用多个listview。您可以为每种类型的项目设置一个用于图表,一个用于缩略图等。。。。 不管怎样,在diagramContainers部分中,您总是在膨胀相同数量的视图。在这种情况下,为什么不在xml中创建这些视图呢。那会提高你的表现


尝试发布你的R.layout.fragment\u app\u详细布局,以便我更好地了解你在做什么。

当我的活动项相同时,我使用网格视图和列表视图。在本页中,我的活动中有7-8个不同的项目。其中一些是滚动视图和网格视图。我认为使用网格视图或列表视图作为此活动的根不是一个好主意。我还使用了您所推荐的行,完全符合您所说的内容。我需要“diagramContainer”的宽度来创建我的视图,所以使用这一行来发送宽度可用时的一些计算。我也认为这是问题所在,并对此进行了评论,但问题仍然存在。
diagramContainers.post(new Runnable() { ...