2023年6月28日发(作者:)
绘制时间android,层次结构查看器中的度量,布局和绘制时间(更好)说明如果我没有弄错的话,这并不意味着最多应该有3个带有红点的视图你的逻辑很好,但⽂档不能说树⽽是节点。 ⽤于获取这3个点的层次结构查看器的tool4sfunction是Profile Node ,这将开始将树从所选节点(树的任意根)到树的末尾进⾏分析。每个View ,进⼊ViewGroup ( 布局基于ViewGroup ),其中包含多个视图,将具有点。 在相反的情况下,没有点。因此,只能在节点级别进⾏⽐较,⽽不是对所有树进⾏⽐较,这就是为什么你可以为所有树获得更多的三个红点(⼀个⽤于测量,⼀个⽤于布局,⼀个⽤于绘制),但不是⼀个节点。其次,考虑到这些值是相对值,我看不出这些值如何有助于提⾼性能。 总有⼀半的观点⽐另⼀半更快。点可以帮助您了解视图组中哪个视图最慢的测量/布局/绘制。 为了避免屏幕冻结,操作总数必须低于16.6ms(android应该保持每秒60帧的帧速率)。红点只会给你⼀个关于你应该分析哪个视图的提⽰,但这并不意味着视图没有被优化,特别是对于有很多⼦节点的复杂层次结构。此外,如果您必须构建⾃定义视图,层次结构查看器可以帮助您了解您是否正确执⾏快速渲染。我看到visibility gone观点,抽奖时间很短。 不应该完全忽视GONE的观点吗?可见性设置为GONE View不会通过onMeasure , onLayout和onDraw 。 如果您像TextView⼀样扩展窗⼝⼩部件并使⽤Log.d覆盖这些⽅法以了解发⽣的情况,则可以轻松地尝试它。但我想抽奖的时间是因为视图将被创建,然后附加到窗⼝并最终改变其可见性。使⽤TextView的⽰例。 第⼀步,通过java构造函数public Text(Context context, AttributeSet attrs){...} )创建对象,然后使⽤protected void onAttachedToWindow() {...}和可见性执⾏附加窗⼝的调⽤protected void onAttachedToWindow() {...}已更改为protected void onWindowVisibilityChanged(int visibility) {}现在,如果您想调试更多的UI,请尝试使⽤具有Debug GPU Overdraw选项的⼿机进⼊开发者选项(并⾮所有⼿机都有)或使⽤模拟器。 然后,您可以查看应⽤程序的透⽀位置,然后优化您的界⾯。 调试GPU Overdraw演练
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1687955577a60624.html
评论列表(0条)