专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

安卓系统怎么优化?安卓系统优化教程

来源:小易整编  作者:小易  发布时间:2022-09-23 05:31
摘要:安卓系统怎么优化?安卓系统优化教程,Android中的优化基本上可以分为以下几个方面:● 布局优化● 网络优化● 内存优化● 卡顿优化● 启动优化布局优化Android的布局管理器本身就是个UI组件; 所有的布局管理器都是ViewGroup...

安卓系统怎么优化?安卓系统优化教程,Android中的优化基本上可以分为以下几个方面:

● 布局优化

● 网络优化

● 内存优化

● 卡顿优化

● 启动优化

布局优化

Android的布局管理器本身就是个UI组件; 所有的布局管理器都是ViewGroup的子类,而ViewGroup是View的子类,所以布局管理器可以当成普通的UI组件使用,也可以作为容器类使用,可以调用多个重载addView()向布局管理器中添加组件,并且布局管理器可以互相嵌套;当然不推荐过多的嵌套 (兼容低端机型,最好不要超过5层)

布局层级管理

让咱们一起了解一下每当系统绘制一个布局时,都会发生一些什么; 这一过程由两个步骤完成:

绘制(Measurement)

● 根布局测量自身

● 根布局要求它内部所有子组件测量自身

● 所有自布局都需要让它们内部的子组件完成这样的操作,直到遍历完视图层级中所有的View

摆放(Positioning)

● 当布局中所有的View都完成了测量,根布局则开始将它们摆放到合适的位置

● 所有子布局都需要做相同的事情,直到遍历完视图层级中所有的View

当某个View的属性发生变化(如:TextView内容变化或ImageView图像发生变化),View自身会调用View.invalidate()方法(必须从 UI 线程调用),自底向上传播该请求,直到根布局(根布局会计算出需要重绘的区域,进而对整个布局层级中需要重绘的部分进行重绘)

布局层级越复杂,UI加载的速度就越慢。因此,在编写布局的时候,尽可能地扁平化是非常重要的

FrameLayout和TableLayout有各自的特殊用途,LinearLayout 和 RelativeLayout 是可以互换的,ConstraintLayout和RelativeLayout类似

也就是说,在编写布局时,可以选择其中一种,也可以用不同的方式来编写布局

网络优化

网络优化的三个要点

多维

● 网络优化应该是多维的,一般情况下,一谈到网络优化,大部分人首先想到的就是流量消耗,但是实际上流量消耗多少只是网络优化的其中一个维度

● 只对流量消耗一个维度进行优化是不够的,甚至有的团队即便在流量优化上也没有做好,比如对于网络流量的消耗统计不够全面和精确

精准

● 在做网络流量统计时,我们要做精准度量,如果只是获取了具体消耗了多少的值,对于我们定位和解决问题是没有太大的帮助,因为这个值只能表明用户用了多少流量

● 如果线上用户反馈 App 消耗流量较多,但是我们不知道这个用户总共使用了 App 多长时间的话,那就不好定位问题所在,如果用户使用 App 的时间比较长,那消耗流量多一些很可能是正常的

● 又比如用户反馈 App 在后台消耗流量比较多,但是我们只统计了整体的值,那就无法断定 App 在后台运行时到底消耗了多少流量

监控

● 针对网络优化,我们应该建设全面且完善的网络监控体系,不能只监控一个指标,假如只监控网络请求成功率,那我们就只能知道用户大概的网络使用情况,这种粗粒度的监控没办法帮助我们找出并解决问题的根源

● 比如线上用户使用了某个功能使用了 1000 次,然后出现了 1 次异常,而且用户点击重试后就恢复正常了

● 这样单从数据上来看的话,网络请求的成功率还是比较高的,但是只通过成功率一个值是无法知道这一次异常出现的原因,也就无法避免后续出现这类异常

网络优化的两个维度

流量维度

● 流量维度也就是 App 在一段时间内流量消耗的精准度量

● 流量消耗大不仅对用户有影响,对公司的运营成本也有影响,比如带宽、服务器数量、CDN 等方面的开支,而且网络请求密集对手机耗电量也有一定的影响

● 在流量维度上,我们要做到区分类型、监控异常、上报日志

区分类型

● 我们不仅要知道用户在某个时间段内的具体流量消耗,还要知道用户在不同网络类型(流量、WiFi)下的流量消耗、区分 App 在前台和在后台时的流量消耗

● 只有积累了不同维度的数据,才能快速断定和解决问题

监控异常

对于流量统计,我们不仅要知道用户的流量消耗均值,还要知道线上用户消耗流量的异常率。

这里的异常分为三种:

● 流量消耗过多

● 请求次数过多

● 下载文件过大

这三个都是我们要注意的异常

上报日志

● 最理想的情况,就是我们对所有的网络请求,在本地都有一个完整的监控,每一个请求的 Request 和 Response 相关的所有信息都全部记录下来

● 服务端可以下发指令控制客户端上传这些数据,客户端也可以在相关数据超过阈值后主动上报

质量维度

网络请求的质量也非常关键,它直接对应了用户的真实体验,如果网络请求速度慢或请求成功率比较低,都会导致不好的用户体验

对于网络请求质量的监控,可以从下面几个维度进行区分,以便后续能快速定位和解决问题

● 请求时长

● 请求成功率

● 失败率

● Top 失败接口


本文地址:百科知识频道 https://www.hkm168.com/zhibai/698228.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


百科知识
小编:小易整编
相关文章相关阅读
  • 怎么能让win8系统运行更快 win8系统优化技巧详解

    怎么能让win8系统运行更快 win8系统优化技巧详解

    如何让win8系统运行更流畅?Windows8操作系统支持ARM架构,包括平板电脑、移动设备、笔记本电脑等,预告微软将持续发展5大类技术领域,包括更自然的用户界面、语言、HTML和JavaScript、云技术。其中用户界面将涵盖语音识...

  • win7系统优化技巧有哪些【详细介绍】

    win7系统优化技巧有哪些【详细介绍】

    21世纪可以说是计算机时代,不管是哪个行业,计算机已经成为我们生活中的必需品。计算机的运行其实并没有想象中的那样高大上,其实也就是一些硬件配备一个系统,接着通过一些软件进行工作。但是有一些笔记本用的时间长了以后就会发生一些小问题,比如一些...

  • 安卓系统怎么优化?安卓系统优化教程

    安卓系统怎么优化?安卓系统优化教程

    安卓系统怎么优化?安卓系统优化教程,Android中的优化基本上可以分为以下几个方面:● 布局优化● 网络优化● 内存优化● 卡顿优化● 启动优化布局优化Android的布局管理器本身就是个UI组件; 所有的布局管理器都是ViewGroup...

  • 周排行
  • 月排行
  • 年排行

精彩推荐