安卓手机卡顿优化建议
作为安卓手机的用户,你得手机使用一段时间以后,是不是灵敏度严重降低,莫名其妙的变得非常卡,明明点击了某个应用但是半天都没任何反应,有时有电话进来都迟迟看不到电话界面,甚至多个软件无缘无故的停止运行?而这些情况的出现,对于用户体验会造成很大的不利影响,应该尽量的避免,避免卡顿的情况。
问:什么原因导致卡顿?
依据安卓系统显示原理分析,影响绘制的根本原因,主要有两个方面:1)绘制任务太重,绘制一帧内容需要消耗太长时间;2)主线程太忙,系统传递过来VSYNC信号时还没准备好数据导致丢帧。
解决办法:绘制耗时长,可以借助一些工具帮助我们解决定位问题;而主线程太忙时则需要注意,主线程的关键职责是处理用户交互,在屏幕上绘制像素,并进行加载显示相关数据,因此尤其需要避免任何主线程的事情,这样应用程序才能对用户操作做到即时响应。
问:关于安卓手机卡顿有哪些优化建议?
答:A、布局优化
布局会影响到测量的时间,我们知道,一个页面的显示测量和绘制过程都是通过递归来完成的,多叉树遍历的时间与树的高度H有关,其时间复杂度 O(h),如果层级太深,每增加一层则会增加更多的页面显示时间,所以合理的布局显得非常重要。那布局优化有哪些方法呐?总结如下:
1)尽可能少用wrap_content:wrap_content会增加布局measure时计算成本,在已知宽高为固定值时,最好不要使用wrap_content;
2)提高显示速度:使用ViewStub,它是一个看不见、不占布局位置、占用资源极小的视图对象;
3)减少层级:合理使用RelativeLayout和LinerLayout,合理使用Merge;
4)布局复用:可以通过标签来提高复用;
5)删除控件中无用的属性。
B、避免过度绘制
这里所谓的过度绘制是指在屏幕上某个像素在同一帧的时间内被绘制了多次,在多层次重叠的UI结构中,如果不可见的UI也在做绘制的操作,就会导致某些像素区域被绘制了多次,从而浪费了多余的CPU及GPU资源。具体应该避免过度绘制,方式如下:
1)布局优化:移除XML中非必须的背景,移除Window默认的背景、按需显示占位背景图片;
2)定义View优化:使用 canvas.clipRect()来帮助系统识别那些可见的区域,仅有这个区域才能被绘制。
C、启动优化
通过对启动速度的监控,发现影响启动速度的问题所在,优化启动逻辑,提高应用的启动速度。启动以后需要完成UI布局、绘制和数据准备三个工作,因此就需要对这三个过程进行优化。
1)UI布局:往往应用都有闪屏页,优化闪屏页的UI布局,可以通过Profile GPU Rendering检测丢帧的具体情况;
2)启动加载逻辑优化:通常是采用分布加载、异步加载、延期加载策略来提高应用启动速度;
3)数据准备:数据初始化分析,加载数据可以考虑用线程初始化等策略。
D、合理的刷新机制
在开发过程中,由于数据的变动,需要刷新页面来展示新的数据,但频繁的刷新会增加资源开销,并且可能导致卡顿发生,因此,需要一个合理的刷新机制来提整体UI的流畅度。不过,合理的刷新需要注意尽量减少刷新次数;避免后台有高的 CPU 线程运行;缩小刷新区域。
F、其他
在实现动画效果是,需根据不同场景选择合适的动画框架来实现,某些情况下,可以用硬件加速方式来提升流畅度。
总之,安卓手机的卡顿情况不足为奇,虽然看它的配置与ios的配置差不多,甚至比之更高,但是卡顿的问题,一直都存在,而以上天津app开发给出的解决办法多少应该可以帮助到大家。
相关阅读推荐
安卓手机卡顿优化建议
作为安卓手机的用户,你得手机使用一段时间以后,是不是灵敏度严重降低,莫名其妙的变...
献给安卓初学者的建议
由于移动互联网的快速发展,移动app数量的不断增多,现如今质量在决定app成败方...
Android应用软件的推广技巧
目前国内最大最早的移动应用市场应该就是安卓,它是百度91无线旗下知名产品,存在的...
如何开发一款优秀的安卓app应用
目前,移动互联网已经风靡国内,并且随着移动互联网的快速发展,手机app应用软件对...
最新资讯
Android APP开发资讯文章推荐阅读
如何开发一款优秀的安卓app应用
目前,移动互联网已经风靡国内,并且随着移动互联网的...
Android应用软件的推广技巧
目前国内最大最早的移动应用市场应该就是安卓,它是百...
怎么才能缔造一个成功的Android App
自从智能手机进入市场以来,一直都是好评如潮,它把互...
Android app应用设计原则?
Android程序功能的实现非常重要,而且要保证有...
安卓手机卡顿优化建议
作为安卓手机的用户,你得手机使用一段时间以后,是不...
献给安卓初学者的建议
由于移动互联网的快速发展,移动app数量的不断增多...
专业安卓app开发公司应符合那些条件
从目前的局势上看,app开发是目前比较火爆的项目,...
Android app界面设计开发有哪些要点
截止到目前为止,安卓手机的用户基数几乎已经超越iO...
Android app开发前必知的五大内容
在Android app开发的道路上每天都会涌现很...
Android手机软件开发有哪些优势
众所周知,目前开发软件系统也就安卓和ios两种,这...