微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 性能:ViewGroup with Children VS.自定义绘制视图

我正在开发一个包含大量自定义视图的应用程序,并遇到了一个非常复杂的性能问题.它们用于测量和绘制的时间是高的(典型地> = 30ms).提供更多细节:它是一个自定义viewGroup(扩展RelativeLayout),带有自定义视图(尽管扩展RelativeLayout),因为它是它的子项.

所以我想到了解决这些性能问题可能是更好/更快的方法:优化子项和布局或切换到完全自定义绘制的视图(线条,矩形和类似的东西)?

你们中的任何一个人都有过这方面的经历吗?甚至一些人做了一些基准并且愿意分享它们?

解决方法:

简单的方法是简化和展平当前的视图层次结构,也许你将能够使测量和绘图过程更便宜(或者至少是体面的).你没有发布布局,所以没有具体的说法,我看到你在RelativeLayouts中提到过RelativeLayouts,也许你可以删除一个并将视图向上移动一级(即使添加其他帮助器视图的费用) ,每个级别都很重要(特别是嵌套RelativeLayouts).您可能已经知道了,但布局中的合并和包含标签可能非常有用.

标准SDK中的RelativeLayout是作为通用小部件构建的,因此很可能无法实现自定义设计布局的性能.让当前布局扩展RelativeLayout以扩展ViewGroup并手动实现子项的测量和布局会更有意义,尤其是当您可能知道应用程序中的用例场景时(例如,RelativeLayout总是需要处理所有大小约束)如果您知道自定义视图将具有特定大小,那么另一方面,您的自定义布局可以更快地处理这种情况.

与完全自定义绘制的视图相关,它是一个选项,但它取决于布局的复杂性.

Or even some done some benchmarks and is willing to share them?

我不知道各种视图基准(很可能不适用于您的具体情况)将有所帮助.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐