Android 在模拟器和设备上渲染视图的速度非常慢

Android 在模拟器和设备上渲染视图的速度非常慢,android,performance,view,hierarchy,Android,Performance,View,Hierarchy,我有一系列复杂的视图显示在屏幕上,我还需要在运行时动态切换视图,通过删除视图和添加新视图(有时只是设置可视性)来实现切换 现在的问题是视图需要非常长的渲染时间(超过7-8秒) 我在我的方法中加上了时间戳,所有的方法似乎都能很快恢复。但是,即使在我的最后一个方法返回之后,视图也不会被渲染,我必须等待它的实际显示。在那之后,用户界面没有响应,我经常得到ANR 有人能指出为什么它这么慢吗 我正在运行时使用Drawable.createFromPath()从文件系统加载大量图像。这可能是问题所在吗?应用

我有一系列复杂的视图显示在屏幕上,我还需要在运行时动态切换视图,通过删除视图和添加新视图(有时只是设置可视性)来实现切换

现在的问题是视图需要非常长的渲染时间(超过7-8秒)

我在我的方法中加上了时间戳,所有的方法似乎都能很快恢复。但是,即使在我的最后一个方法返回之后,视图也不会被渲染,我必须等待它的实际显示。在那之后,用户界面没有响应,我经常得到
ANR

有人能指出为什么它这么慢吗


我正在运行时使用
Drawable.createFromPath()
从文件系统加载大量图像。这可能是问题所在吗?

应用程序变得迟钝的原因之一是当您在UI线程中执行一些耗时的非UI活动时。我建议您仔细研究代码,确定哪些活动需要时间,您可以使用
AsyncTask
执行这些活动

有关更多信息,请参阅此链接:
应用程序变得迟钝的原因之一是在UI线程中执行一些耗时的非UI活动。我建议您仔细研究代码,确定哪些活动需要时间,您可以使用
AsyncTask
执行这些活动

有关更多信息,请参阅此链接:

我已经找到了同样的解决方案,并将其发布给任何面临类似问题的人。问题是由于视图嵌套太深。由于布局相当复杂,视图嵌套得相当深。在达到14-15级后,性能开始急剧下降。在合并一些存根布局(占位符等)时,性能得到了显著提高。层次结构查看器在调试此问题时非常有用。 还有一些意见是: 1.嵌套时的相对布局非常慢,而线性布局则不太慢。
2.软键盘在对话框中使用或触发形成深度嵌套的相对布局(层次结构主要由相对布局组成)时会变得迟钝。

我已经找到了相同的解决方案,并将其发布给面临类似问题的任何人。问题是由于视图嵌套太深。由于布局相当复杂,视图嵌套得相当深。在达到14-15级后,性能开始急剧下降。在合并一些存根布局(占位符等)时,性能得到了显著提高。层次结构查看器在调试此问题时非常有用。 还有一些意见是: 1.嵌套时的相对布局非常慢,而线性布局则不太慢。
2.当软键盘在对话框中使用或触发形成深度嵌套的相对布局(层次结构主要由相对布局组成)时,软键盘运行缓慢。

没有运行其他非ui活动。事实上,我删除了所有内容,只是尝试扩大布局。单是布局就需要花费大量的时间。我已经找到了一个解决方案,并将其发布给任何面临类似问题的人。问题是由于视图嵌套太深。由于布局相当复杂,视图嵌套得相当深。在达到14-15级后,性能开始急剧下降。在合并一些存根布局(占位符等)时,性能得到了显著提高。层次结构查看器在调试此问题时非常有用。您可以将其作为问题的答案发布,而不是将答案作为注释发布,并且可以将该答案标记为已接受的解决方案。将对其他用户有用。没有其他正在运行的非ui活动。事实上,我删除了所有内容,只是尝试扩大布局。单是布局就需要花费大量的时间。我已经找到了一个解决方案,并将其发布给任何面临类似问题的人。问题是由于视图嵌套太深。由于布局相当复杂,视图嵌套得相当深。在达到14-15级后,性能开始急剧下降。在合并一些存根布局(占位符等)时,性能得到了显著提高。层次结构查看器在调试此问题时非常有用。您可以将其作为问题的答案发布,而不是将答案作为注释发布,并且可以将该答案标记为已接受的解决方案。将对其他用户有用。