林州网站建设哪家专业,中国企业500强门槛,如何宣传自己的网站,在那些网站可以接兼职做无论你是发布一个新的 Android 应用#xff0c;还是希望提高现有应用的性能#xff0c;你都可以使用 Android 应用性能指标来帮助你。
在这篇文章中#xff0c;我将解释什么是 Android 应用性能指标#xff0c;并列出8个需要考虑跟踪的维度和建议的基线。
什么是 Android…无论你是发布一个新的 Android 应用还是希望提高现有应用的性能你都可以使用 Android 应用性能指标来帮助你。
在这篇文章中我将解释什么是 Android 应用性能指标并列出8个需要考虑跟踪的维度和建议的基线。
什么是 Android 应用性能指标
Android 应用性能指标量化了一个 Android 应用的性能。开发人员通过建立自己的跟踪系统或将应用程序连接到第三方平台来收集这些数据。无论采用何种收集方法性能指标都能表明一些关键信息如应用程序的运行效率以及用户对界面的反应。有了这些信息开发者可以解决错误并作出调整以改善整体用户体验。
为什么 Android 应用性能指标很重要
Android 应用性能指标很重要因为它们可以帮助开发者确定其产品的有效性。通过比较实际数据和期望开发者可以重新评估他们的期望或对应用程序进行调整。
这些指标也可以帮助企业
创造更好的用户体验促进更好的品牌忠诚度指导开发吸引大众市场的新应用在其行业内保持竞争力
8个 Android 应用性能指标
1. 应用启动时间 从用户点击应用图标启动应用到看到第一页的时间 基线
冷启动时间 P502sP_{50} 2sP502s Pk表示第k百分位数P_k表示第k百分位数Pk表示第k百分位数 百分位数Percentile是统计学术语若将一组数据从小到大排序并计算相应的累计百分点则某百分点所对应数据的值就称为这百分点的百分位数 应用程序的启动可以在三种状态下进行每种状态都会影响你的应用程序对用户可见的时间冷启动、温启动和热启动。在冷启动中你的应用程序从头开始。在其他状态下系统需要将运行中的应用从后台带到前台。
Android使用初始显示时间TTID和完全显示时间TTFD指标来优化冷启动和温启动的应用程序。Android 运行时 (ART) 使用这些指标的数据来高效地预编译代码以优化未来启动。 2. 冻结帧Frozen Frame 冻结帧是指渲染时间超过700ms的界面帧。 这意味着你的应用在帧的呈现过程中几乎有一秒钟的时间卡住不动对用户输入无响应。我们通常建议应用在 16ms 内呈现帧以确保界面流畅。但是当应用启动或转换到其他屏幕时初始帧的绘制时间通常会超过 16ms这是因为应用必须扩充视图对屏幕进行布局并从头开始执行初始绘制。因此Android 将冻结帧frozen frame与呈现速度缓慢slow rendering分开跟踪。建议应用中的任何帧的呈现时间都不应超过 700ms。
基线
冻结帧的百分比应该小于1%。
3. 界面呈现缓慢Slow Rendering 应用程序渲染的帧数超过16ms低于60fps系统就会被迫跳帧用户就会感觉到应用程序的卡顿。 基线
慢速帧的百分比应低于5%。 界面呈现是指从应用生成帧并将其显示在屏幕上的动作。如需确保用户能够流畅地与您的应用互动您的应用呈现每帧的时间不应超过 16ms以达到每秒 60 帧的呈现速度。如果应用存在界面呈现缓慢的问题系统会不得不跳过一些帧这会导致用户感觉到应用不流畅这种情况称为卡顿jank。这个16ms的数字来自于手机的硬件它定义了屏幕在一秒钟内可以更新的速度。现在大多数设备以60赫兹的速度更新这意味着你有16ms的时间来执行每一帧的所有逻辑。如果错过了这个时间窗口就会得到一个丢帧。
4. 应用程序无响应Application No Responseding 当UI线程被阻塞超过5秒时会触发应用程序无响应ANR错误。 基线
日活中出现一次ANR的比例应该小于0.47%。日活中出现两次或更少的ANR的比例应该小于0.24%。 日活指的是一日内登录或使用应用程序的用户数。 如果 Android 应用的界面线程处于阻塞状态的时间过长会触发“应用无响应”(ANR) 错误。如果应用位于前台系统会向用户显示一个对话框如下所示。ANR 对话框会为用户提供强制退出应用的选项。 5. 崩溃Crash 只要出现未处理的异常或信号导致的意外退出Android应用就会崩溃。 基线
没有出现崩溃的比例应该大于99.95% 使用 Java 或 Kotlin 编写的应用会在抛出未处理的异常由 Throwable 类表示时崩溃。使用机器码或 C 语言编写的应用会在执行过程中遇到未处理的信号如 SIGSEGV时崩溃。
当应用崩溃时Android 会终止应用的进程并显示一个对话框告知用户应用已停止如下图所示。 6. 内存消耗Memory Consumption 应用程序当前使用的物理内存的大小。 基线 如果 Android 应用程序消耗过多的内存在运行时可能无法在内存中分配一个对象就会抛出一个 OutOfMemoryError导致应用突然崩溃并显示应用程序 已经停止 的通知创造一个糟糕的用户体验。
7. CPU 利用率CPU percent utilization 应用在运行时耗费的CPU处理能力的百分比 基线 CPU 利用率是用来量化处理器在应用程序之间的共享情况。单个应用程序的高 CPU 利用率可能表明它对处理能力的要求很高或者它可能出现故障并影响你的用户设备的电池寿命。
8. 网络响应时间Network Response Time 响应时间是指服务器响应客户的请求所需的时间。计时器以毫秒为单位从客户发出请求的那一刻开始到服务器发回第一个响应时停止。 基线
P901sP_{90} 1sP901s Pk表示第k百分位数P_k表示第k百分位数Pk表示第k百分位数 百分位数Percentile是统计学术语若将一组数据从小到大排序并计算相应的累计百分点则某百分点所对应数据的值就称为这百分点的百分位数 响应时间有时被定义为第一个字节的时间TTFB它是指从客户端请求到第一个数据包被发回给客户端的时间。响应时间不包括客户的设备渲染或处理任何收到的数据所需的时间。 总结
上述中的是对Android APP性能调优优化各方向的简单介绍其实面试能问道的性能优化相关知识点也就这么多只是每个人回答的方式不同而已最终的结果怎么样还得看面试官怎么理解吧。如果想彻底搞懂这块知识点的话可以去参考学习《Android 性能调优学习手册》https://qr18.cn/FVlo89 可以说里面记录比较详细比较全了。
《Android 性能调优学习手册》https://qr18.cn/FVlo89
1.内存优化 2.UI优化及渲染优化 3.电量优化 4.网络优化 5.Bitmap优化 6.图片压缩优化 7.多线程并发优化 8.数据传输效率优化 9.启动优化 10.卡顿优化 11.安装包优化