安卓-页面卡顿-分析方法

  • 界面卡顿影响的页面 :
    • ListView
    • ScrollView
    • 有动画的页面 
  • 分析步骤
    1. 打开调试开发者选项,GPU呈现模式分析
    2. 如果蓝色部分比较高,说明是UI线程性能问题
    3. 红色部分比较高,应该是DrawList比较复杂,这部分可能跟蓝色部分相关。目前还没想到蓝色部分不高,红色部分搞的案例。
    4. 黄色部分搞,也许是GPU太忙,也许是CPU太忙。 GPU太忙,说明DrawList太多,CPU太忙,说明要么主线程性能有问题,要么GPU太忙,来不及通知主线程。
    5. 总的来说,三部分是相关的。蓝色部分的高,可以直接导致红色和黄色部分的高,所以,重点还是分析蓝色部分的高。
  • 如何分析主线程性能问题
    • 两种类型的影响因素
      • 全局级别的影响因素:
        •  比如CPU性能低
        • 内存不足,频繁GC
      • 页面级别的影响因素
        • 页面的 measure比较耗时
        • 页面的 layout比较耗时
        • 页面的 draw比较耗时
    • 如何区分是全局影响因素还是页面影响因素
      • 如果所有页面都慢,判定是全局级别因素
      • 如果只有某个页面慢,判定是页面级别的原因
    • 页面级别的影响因素一般原因
      • 有自定义控件,measure, layout, draw效率比较低
      • View 结构比较复杂或者不合理,导致 measure, layout效率比较低
      • 页面结构设计复杂或者不合理,导致draw效率比较低,过度绘制
    • 页面级别影响因素的分析工具及方法
      • 自定义控件效率低下:用 method tracing可以发现
        • Android Studio:  Android Monitor-->start method tracing,结果用Exclusive Time排序

        • Eclipse :  DDMS--Start method profiling

      • 页面不合理,导致 measure, layout慢: 用 View Hierarchy
        • android studio:  Tools->Android->Android Device Monitor(注意不是下面的Android Monitor)
          • 在windows选择一个页面
          • 点击树形组织结果-》load xxx to Tree view
          • 点击view树的根节点
          • 点击右上方按钮

          • 三个小红点,分别是 measure, layout, draw时间。  看看那个报红色。
          • 实际使用结果及建议
            • 通过 methond profiling发现一个自定义控件onDraw的时候效率问题,通过 View Hierarchy没有发现draw的时间长的问题
            • 建议: 谨慎相信其数据结果,不过可以用来作为较少UI层级的工具
        • eclipse
      • 页面不合理 ,导致过度绘制: 打开开发者选项-》调试GPU过度绘制
        • 实际发现过度绘制,粉红,不会明显影响绘制性能
        • 微信等大厂的首页,都做过过度绘制优化,颜色基本是蓝色,粉红的只有很少的面积
      • 关于页面不合理
        • 其实页面不合理的上述两个问题,都是通过调整XML文件,使布局更简单合理来解决
        • 用 method profiling也能发现是 measure, layout,draw效率有问题。不见得只能用view Hierarchy 和 over draw.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/34302.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android手机为何不再卡顿?性能优化才是安卓起飞关键

现在谈到挂载 Android系统的 手机,大部分人的印象早已不像前几年,几年前的安卓机那是用了一段时间就变得有点卡顿,用1年就卡的动弹不得,不得不每年都更换新机。 为什么以前会出现这种情况呢?其实主要是有些程序在运行…

Android App 反应卡顿解决方案

Android App 反应卡顿,从技术上将就是UI 渲染慢。 UI渲染是从您的应用程序生成一个框架并将其显示在屏幕上的行为。 为了确保用户与您的应用程序的交互顺利,您的应用程序应该在16ms内渲染帧数达到每秒60帧(为什么60fps?&#xff…

中文大模型评估基准:C-EVAL: A Multi-Level Multi-Discipline Chinese Evaluation Suite for Foundation Models

论文:https://arxiv.org/abs/2305.08322 网站:C-Eval: A Multi-Level Multi-Discipline Chinese Evaluation Suite for Foundation Models 一、导言 随着大语言模型的迅速发展,如何评估一个大模型的能力也成为了一个重要的话题&#xff0c…

「国际科技信息中心SCITIC论坛」从细胞、基因和人工智能,探讨智慧医疗的机遇和挑战...

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 2023年3月22日,由国际科技信息中心主办,AI TIME承办的SCITIC论坛“细胞,基因和人工智能:探索医学研究的未来”完美收官。SCITIC论坛由国际科技信息中心倾力打造&a…

C-Eval:构造中文大模型的知识评估基准

作者:符尧,何俊贤 排版:宋梓瑜 来源:海外独角兽 本项目立项于 2023 年 2 月 28 日,由上海交通大学、清华大学和爱丁堡大学共同完成,发布于 2023 年 5 月 22 日,原文链接:https://yao…

GPT(Chat)原理及其应用

摘要 遥想以往,人类沟通的方式只有口头或书面文字,但现在随着科技的发展,人类的沟通方式又得到了革命性的变化,即通过聊天机器人实现人机沟通。而GPT(Chat)中文聊天机器人又是其中的一种,它可以通过技术手段来自然地与…

AI:什么是智能?

本篇文章是博主在人工智能等领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对人工智能等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅解。文章分类在学习摘录和笔记专…

ChatGPT推荐的开源项目,到底靠不靠谱?

今天我们让ChatGPT推荐一些开源项目,看看这些项目到底靠不靠谱? 首先,我们需要明确一个概念,那就是什么是开源项目。开源项目是指代码开放、可自由使用、修改和分发的软件项目。开源项目的优点显而易见,它们免费、透明…

餐饮行业最新的经营模式——私域运营案例

疫情让许多企业发展面临巨大压力,而私域流量在这个时刻成为很多餐饮企业爱如珍宝的“救命稻草”。甚至有人预言,今年将可能是餐饮私域流量醒觉得第一年。目睹着越来越多的餐饮企业其中甚至还有餐饮大牌企业都加入私域流量中来。但好多餐饮人都不太了解私…

基于PHP的餐饮行业管理系统

第一章 绪论 1.1 系统开发背景 近年来,基于用户对网络信息传递的实时性以及高效性等方面的需求,使得信息化技术手段以及相关的产业结构得到的飞速的发展,其中最为出众的当属电商化的运营管理模式,其一经推广便受到了广泛的关注。…

【完善】微信餐厅点单小程序+后台管理系统的设计与实现(python实现)

前言 本文为完善上一篇文章餐厅点单小程序后台管理管理系统的设计与实现,旨在帮助有需要的小伙伴,更好的入门学习python3 djangovue开发的前后端分离框架。话不多说,开始我们的学习吧~ 项目介绍 本次系统设计分两大模块&#x…

餐饮门店数字化转型|餐厅管理系统小程序

餐饮行业规模非常庞大,每年都有大量公司或个体户入局,国内各类美食非常多,不同品类菜品都有大量需求,以前几乎在业的餐饮门店,只要运营得当,挣多挣少总归是有利的,也能很好的生存下去&#xff0…

【餐厅点餐平台|一】项目描述+需求分析

餐厅点餐平台导航 【餐厅点餐平台|一】项目描述需求分析 https://blog.csdn.net/weixin_46291251/article/details/126414430 【餐厅点餐平台|二】总体设计 https://blog.csdn.net/weixin_46291251/article/details/126422811 【餐厅点餐平台&#xff5…

校园外卖点餐系统——Day02【员工管理业务开发】

❤ 作者主页:欢迎来到我的技术博客😎 ❀ 个人介绍:大家好,本人热衷于Java后端开发,欢迎来交流学习哦!( ̄▽ ̄)~* 🍊 如果文章对您有帮助,记得关注、点赞、收藏、…

餐道中台如何赋能餐饮零售企业?

前不久,餐道A轮融资1亿元,是近期餐饮行业信息化领域最大的一笔。这家公司融资的目的是为了加强“SaaS 业务数据双中台”系统研发。那么,这家公司是谁,为什能拿到融资,此次融资之后会朝着何处发展,为业内带来…

餐饮行业管理系统技术开发详细步骤详解

一. 项目介绍 本系统主要应用在餐饮行业,可以适用于中餐、西餐、快餐、火锅、烤肉等,主要功能分前端和后端两部分。前端主要完成就餐客户的餐厅预定及点菜环节,后端主要完成餐厅、餐桌的设置,菜品的设置等 系统分为前端和后台两…

教你如何实现门店餐饮快速裂变的解决方案

随着互联网市场的迅速发展,很多实体店受到电商行业的影响,客流量是越来越少,再加上这几年的疫情影响,实体店真的是越来越难做了特别是餐饮行业,以至于身边随处可见的门店关门、转让。难道就实体店就走向谷底了吗&#…

外卖项目01---软件开发整体介绍

目录 一、软件开发整体介绍 03 1.1软件开发流程 03 1.2角色分工 1.3软件环境 二、外卖项目介绍 04 2.1项目介绍 2.2产品原型展示 2.3技术选型 2.4功能架构 2.5项目上线后的角色分类 三、开发环境搭建 05 3.1数据库环境搭建 3.2maven项目搭建 06 四、后台登陆功…

如何为餐饮商家打造代运营解决方案?

外卖行业成餐饮主战场之一,食咖助力商户抢占流量入口 外卖行业是目前餐饮的另外一个非常重要的主战场,作为其细分领域,外卖代运营主要集中在产业图谱中的平台端口,食咖代运营的核心,是运营团队落地助力商户抢占线上的…

案例:基于大数据的餐饮公司会员营销及O2O应用策略

来源:软件定义世界 主讲嘉宾:龚光宇,上海一茶一坐餐饮有限公司CIO&CMO,来自台湾,24年IT工作经验,2004年加入上海一茶一坐餐饮有限公司任CIO,2012年兼任CMO,2011年IT经理世界中国…