android - 提高布局性能

标签 android performance android-layout

我是一名自由职业者,负责解决 Android 应用程序的崩溃问题。它发生在启动时,我知道这是因为 activity_main.xml。它有太多的 View ,太多的嵌套层次。除此之外(我会尽量减少)

还有哪些其他策略可以提高 Android 中的布局性能?

用户界面无法更改或简化。 例如: - 对于重复元素 (50 - 100),使用“include”是否会使其更快? - 与在样式中而不是在每个项目中定义属性相同。

最佳答案

我最近一直致力于提高应用程序的性能并呈现快速流畅的用户界面让我分享我的经验:

在 UI 方面的性能愿景是:

Lower the latency of screen draws
Create fast, consistent frame rates to avoid jank/lag.

布局有一些经验法则。

最小 View 层次结构。

最小背景绘图

最小化窗口的过度绘制:

最小化 View 的 overdraw

使用 drawble left 代替图像和 textview 水平对齐。

在重复 View 时经常使用 lists/recyclerview

还有更多。让我分享一些非常有用的链接

https://medium.com/@elifbon/android-application-performance-step-1-rendering-ba820653ad3#.pp7hpnv07

https://www.safaribooksonline.com/library/view/high-performance-android/9781491913994/ch04.html

https://riggaroo.co.za/optimizing-layouts-in-android-reducing-overdraw/

https://www.hackerearth.com/notes/rendering-performance-in-android-overdraw/

让我知道它是否有帮助。干杯

关于android - 提高布局性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39545890/

相关文章:

在基本模块中找不到动态功能模块中的 Android 提供程序

android - 构建本地.mk : No such file or directory

java - 如何处理 ISO 8601 日期/时间并将其格式化为用户的区域设置?

android - 在 RecyclerView 中滚动 Textview

android - 应用程序-通过android中的Wifi直接共享文件

python - 在 Python 中创建类的开销 : Exact same code using class twice as slow as native DS?

javascript - 在 JavaScript 循环中更新页面

java - Java 中创建了多少个 String 对象?

java - 无法在 ConstraintLayout 中定位 TextView

java - 在 Android 上查找缺口切口类型