• Android布局优化


    1,降低布局结构的深度;

    2,重复的布局用include独立出来;

    3,merge标签代替布局文件中的根节点,减少布局的嵌套;

    4,将动态加载的布局用ViewStub包包含,不需要的时候设置为View.GONE,将其隐藏起来;

    5,用hierarchy viewer优化;

    一,layout过于复杂导致丢帧,HierarchyViewer查找activity是否过于复杂,也可以使用手机设置里面的开发者选项,打开Show GPU Overdraw等选项进行观察。

          你还可以使用TraceView来观察CPU的执行情况,更加快捷的找到性能瓶颈;

    二,背景重复绘制,Overdraw有时候是因为你的UI布局存在大量重叠的部分,还有的时候是因为非必须的重叠背景;

    三,你需要避免在for循环里面分配对象占用内存,需要尝试把对象的创建移到循环体之外,自定义View中的onDraw方法也需要引起注意,每次屏幕发生绘制以及动画执行过程中,onDraw方法都会被调用到,避免在onDraw方法里面执行复杂的操作,避免创建对象。对于那些无法避免需要创建对象的情况,我们可以考虑对象池模型,通过对象池来解决频繁创建与销毁的问题,但是这里需要注意结束使用之后,需要手动释放对象池中的对象

  • 相关阅读:
    node体验
    JS练习--prototype的一道题目
    JS的OOP--继承之prototype
    JS的OOP--new一个function背后的实际操作
    JS中new运算符的运算顺序
    thymeleaf 拼接字符串与变量
    spring jpa exists
    LocalDateTime json格式化
    格式化java8 LocalDateTime
    springboot定时任务
  • 原文地址:https://www.cnblogs.com/senior-engineer/p/7866533.html
Copyright © 2020-2023  润新知