AndroidAPP开发应该怎样优化性能?

发布时间:2020-01-14 15:48 | 浏览人次:浏览次数

说到Android系统手机,大多数人的印象是用了一段时间就变得有点卡顿,有些程序在运行期间莫明其妙的出现崩溃,开启系统文件夹一看,发现多了许多文件,所以今天想说的关键是Android APP应用性能优化,能够从以下四大方面来优化。
AndroidAPP开发应该怎样优化性能?

一、卡顿优化

Android 软件启动慢,使用时经常卡顿,是非常影响用户体验的,应该尽可能以免出现。卡顿的根本性原因能够分成两大类:

1、界面绘制

重要原因是绘制的层次深、页面复杂、刷新不合理,由于这些原因导致卡顿的场景更多出目前UI和启动后的初始界面以及跳转到页面的绘制上。

2、数据处理

导致这种卡顿场景的原因是数据处理量太大,普遍分成三种情形,一是数据在处理UI线程,二是数据处理占用CPU高,导致主线程拿不届时间片,三是内存增多导致GC反复,进而引起卡顿。

优化建议:

1、布局优化

重要通过降低层次、降低测量和绘制时间、提高复用性3个方面入手。

2、以免过度绘制

移除XML中非必须的背景,移除Window默认的背景、按需显示占位背景图片。自定义View优化。使用 canvas.clipRect()来协助系统辨识那些可见的区域,只有在这个区域内才会被绘制。

3、启动优化

通过对启动速度的监控,发现影响启动速度的问题所在,优化启动逻辑,提高软件的启动速度。启动重要完结三件事:UI布局、绘制和数据准备。因而启动速度优化就是需要优化这3个历程。

4、合理的刷新机制

合理的刷新需要留意尽可能降低刷新次数、尽可能以免后台有高的CPU线程运行以及缩小刷新区域。

二、内存优化

在Android系统中有个垃圾内存回收机制,在虚拟机层自动分配和释放内存,因而不需要在代码中分配和释放某一块内存,从软件维度上不容易出现内存泄漏和内存溢出等问题,可是需要内存管理。Android系统在内存管理上有1个Generational Heap Memory模型,内存回收的大多数压力不需要软件层关心,Generational Heap Memory有自己一套管理机制,当内存满足1个阈值时,系统会依据不一样的规则自动释放系统认为能够释放的内存,也正是由于Android程序把内存控制的权力交给了Generational Heap Memory,一旦出现内存泄漏和溢出方面的问题,排查错误将会变成一项异常困难的工作。

优化建议:

1、对象引用

强引用、软引用、弱引用、虚引用四种引用种类,依据业务需要合理使用不一样,选择不一样的引用种类。

2、降低多余的内存花销

留意自动装箱,增多内存复用,例如高效运用系统自带的资源、视图复用、对象池、Bitmap对象的复用。

3、使用更优的数据种类

例如针对数据类容器结构,能够使用ArrayMap数据结构,以免使用枚举种类,使用缓存Lrucache等等。

4、图片内存优化

能够设立位图规格,依据取样因子做缩减,用一些图片缓存方法对图片进行管理等等。

三、稳定性优化

Android软件的稳定性定义很宽泛,影响稳定性的原因许多,例如内存使用不合理、代码异常场景思考不周到、代码逻辑不合理等,都会对软件的稳定性导致影响。其中更常见的2个场景是:Crash和ANR,这2个错误将会使得程序没法使用,比较常用的解决方法如下:

1、提高代码质量

例如开发期间的代码考核,看些代码设计逻辑,业务合理性等。

2、代码静态扫描工具

常见工具备Android Lint、Findbugs、Checkstyle、PMD等等。

3、Crash监控

把一些崩溃的信息,异常信息实时地记录下来,便于后续探讨解决。

4、Crash上载机制

在Crash后,尽可能先保存日志到本地,然后等下一次网络平常时再上载日志信息。

四、耗电优化

在移动设备中,电池的主要性显而易见,没有电什么都干不成。对于操作系统和设备开发公司来说,耗电优化一致没有静止,去追求更长的待机时间,而对于一款软件来说,并非能够忽视电量使用问题,尤其是那些被归为“电池杀手”的软件,更终的结果是被删除。因而,软件开发人员在实现需要过程中,需要尽可能降低电量的耗费。

五、安装包优化

软件安装包大小对软件使用没有影响,但软件的安装包越大,会员下载的门槛越高,尤其是在移动网络情形下,会员在下载软件时,对安装包大小的请求更高,因而,减小安装包大小能够让更多会员愿意下载和体验产品。

优化建议:

1、代码搞混

使用ProGuard代码搞混器工具,它包括缩减、优化、搞混等功能。

2、资源优化

例如使用Android Lint卸载冗余资源,资源文件更少化等。

3、图片优化

例如运用AAPT工具对PNG格式的图片做缩减处理,减少图片色彩位数等。

4、重复功能的库,使用WebP图片格式

5、插件化

例如功能模块摆在服务器上,按需下载,能够降低安装包大小。

上述内容就是小编今天为您带来的关于《AndroidAPP开发应该怎样优化性能?》的全部内容,希望能对您有所帮助,我们是一家成立于北京的IT外包公司,如果您有app软件或者微信小程序需要定制开发,不妨联系我们。
免责声明:本站部分文章转载自网络,不代表本站的观点和立场,不以盈利为目的。如有侵犯公司或个人权益,本站会第一时间删除文章。我们是一家北京app开发公司,欢迎咨询免费获取思维导图!

本文地址:https://appbj.cn/article/3009/

网友热评

暂无更多评论
思捷智联

思捷智联是一家2009年成立于北京的IT外包公司,我们致力于为企业提供app软件开发和微信小程序开发服务。公司成立10年来,我们为民政部、方正电子、神州数码、联想控股、壹基金、首钢集团、北京大学、北京师范大学、今麦郎、丰汇租赁、万通控股等上百家企业提供了IT外包服务。我们努力实现每一位客户的托付,为客户创造实在的效益,让您与梦想走得更近。

微信咨询

扫描微信二维码
同市场经理沟通需求

我们积累了丰富的移动互联网开发和运营经验,在开发中为客户提供更多帮助!
咨询热线:18611391767(微信同号)