马海祥博客是一个专注于分享SEO优化、网站制作、网络营销和运营思维的自媒体博客!
马海祥博客 > 运营思维 > App运营 > 提升App开发性能的技巧有哪些?

提升App开发性能的技巧有哪些?

时间:2016-02-26   文章来源:马海祥博客   访问次数:

现在,App日益重视用户的交互体验,了解性能优化的方式则可以有效提高用户体验。阅读和实践下面的性能优化技巧,可以帮你改善应用的流畅度、渲染时间和其他方面的性能表现。

对App进行性能优化是一份冗杂沉重的工作,这不仅是因为构建一个App需要前后端协作,而且需要多方面的技术栈:数据库、后端、前端,需要运行在多种平台:iOS,安卓,Chrome,Firefox,Edge,这太复杂了!不过,还是有一些历经实践的通用方式可以用来优化App的性能。

提升App开发性能的技巧有哪些?-马海祥博客

移动应用市场用户争夺战日益激烈,原来做App靠的是拼想法、拼创意、拼是否抓住用户痛点;现在精细化用户体验成为了一个App能否留存用户的关键问题,一旦用户觉得体验不畅,马上就有竞品App后补,如何开发高性能的移动应用,已成为开发者最为关心的问题之一,对此,马海祥特意总结了以下提升App开发性能的技巧:

1、规划好应用功能,做好应用架构评估

用户体验开始于App开发初始规划阶段,当你梦想开发一个App改变世界之前,先想好App主要解决用户的哪些真实需求,提炼出App的核心功能,一个App并不是功能越丰富越好,核心功能才能为用户带来不可替代的价值。

想清楚核心功能,才能做好应用架构评估,应用程序性能不佳可能是因为可扩展性限制、不匹配的技术选择、低效的网络配置以及UI设计不符合移动端使用习惯等因素,清晰完整的App架构规划有利于构建用户所需的系统功能构建(具体可查看马海祥博客《详解APP软件开发过程中的解构和重构》的相关介绍)。

2、良好的编程习惯

良好的编程习惯不仅可以使程序代码易于读懂和修改,还可以使程序结构合理、清晰。

开发人员可以从程序结构模块化、命名规则清晰易懂、注释方法简洁明了,文本格式易读等方面开始养成良好习惯,让应用开发事半功倍,提高程序的执行效率。

3、改善程序启动和响应的时间

为了加快App响应速度,我们可以在UI线程上创建足够的对象,以便完善公共API功能。

然后将功夫用到后台线程上,将费时的操作从主线移动到一个单独线程中,缓存从磁盘存储打开和阅读,客户端证书在后台加载。

Cookies反序列化和解码在后台,通过这些改变,UI将更快地出现在屏幕上。

4、使用最新版本的软件开发SDK、API

随着Android、ios平台的不断发展,平台提供的功能也在不断更新,一些功能可能被新功能完全替代。

核心API得到修正版(bug fix)和性能改进,帮助开发者编写出运行更稳定、响应更迅速的应用程序。

5、使用SuperWebView,让App支持动态更新

已经上线的App在需要更新新功能时,可以使用APICloud平台的SuperWebView功能,基于SuperWebView开发的功能支持动态更新,可以绕过应用商店的审核,用户无需重新下载App,就能让新功能悄无声息的更新到用户手机上,让原生App的新功能开发变得更高效。

6、使用Android性能调优利器StrictMode

StrictMode意思为严格模式,是用来检测程序中违例情况的开发者工具,最常用的场景就是检测主线程中本地磁盘和网络读写等耗时的操作。

使用严格模式,系统检测出主线程违例的情况会做出相应的反应,如日志打印,弹出对话框亦或者崩溃等。换言之,严格模式会将应用的违例细节暴露给开发者方便优化与改善。

7、使用Hierarchy Viewer工具

Hierarchy Viewer可以帮助调试应用布局,它会让你选择设备或者模拟器上正在运行的进程,然后显示其Layout的树型结构。

每个块上的交通灯分别代表了它在测量、布置和绘画时的性能,帮你找出瓶颈部分。

8、优化应用布局

简单的屏幕可以让应用使用轻松流畅,使用Lint工具可以查看View层级哪些地方可以优化。

它可以帮助你找到不必要的控件嵌套以及缩减布局资源的其他方法,以尽量减少资源的使用。

它让你可以了解哪些布局控件可能是多余的或不必要的。

控件越少、布局层次越浅,性能就越好(具体可查看马海祥博客《APP用户体验开发的10大原则》的相关介绍)。

9、优化应用的耗电量

如果让用户发现你的应用很耗电,那就不怪用户马上卸载应用了,应用之所以耗电,是因为使用了手机的某种资源,根据谷歌官方统计,典型的耗电场景有调用GPS定位、网络传输、屏幕亮度、CPU频率、内存调度频度、wake_locker时间和次数,如果你的应用能优化以上几点,就能降低耗电风险。

10、规划应用的离线体验

当用户无法连接WiFi或其它网络信号时,用户使用App时仍然能够有极佳的可用性,那一定能给你的App加不少印象分。

在规划App应用时,应该将这一设计方法考虑其中,提前规划好App在离线状态下的运营模式。

11、按需加载

按需加载资源或者说懒加载资源(特别是图片)对优化Web App的性能有很大帮助,对于图片较多的页面,使用懒加载通常有以下三点好处:

(1)、减少并发请求,缓解服务器压力,提高加载速度。

(2)、减少浏览器的内存占用率。

(3)、降低服务器的负载。

图片或其他资源懒加载的方案一般是,在程序启动时加载首屏资源,在页面滚动时持续加载即将进入视口的资源,由于这种方法往往需要与页面结构和开发方式相协调,所以常常使用现有的插件和扩展来实现惰性加载(具体可查看马海祥博客《App界面常用的数据加载设计和技术》的相关介绍)。

一个典型的按需加载实例就是谷歌的图片搜索工具,点击这一链接并滚动页面,打开开发者工具注意资源的加载时间。

12、缓存

缓存常用来存储频繁调用的数据,当缓存后的数据再次被调用时,就可以由缓存直接提供数据,提高数据的响应速度。

通常来说,一个App都是由多个组件构成的,在这些组件中都能发现缓存的影子,比如动态内容服务器和客户端之间使用的缓存,通过减少通用请求降低服务器负载,可以改善页面的响应时间;比如代码中的缓存处理,可以优化某些通用的脚本访问模式。此外,还有数据库缓存和长进程缓存等。

简而言之,缓存是改善应用程序响应速度和降低CPU负载的有效方式,在一个开发体系中,最难的不是如何使用缓存,而是找出哪里适合使用缓存(具体可查看马海祥博客《交互设计的三大隐形机制:加载、刷新和缓存》的相关介绍)。

对于这一问题,我还是建议使用事件分析工具(profiler):找出性能瓶颈,检测缓存是否成功,测试缓存是否容易失效……这些问题都需要历经实践才能得出有效的结论。

13、性能剖析

性能剖析是应用程序进行性能优化的重要步骤,在马海祥看来,盲目地优化应用程序往往会降低生产力、产生新的痛点且难以维护,性能剖析的作用就是要找出应用程序中潜在的风险区域。

对Web应用程序来说,响应速度是一个非常重要的衡量指标,所以开发者都会尽可能地去提高资源的加载速度和页面的渲染速度。

此外,如果合理分析内存的使用率,也将有效提高应用程序的性能,如果你的页面中有大量的视觉元素(比如动态的表格)或者大量的交互元素(比如游戏),那么对内存使用的剖析就可以有效减少卡顿,提高帧速。

找出性能的核心痛点,才能让你更加高效地进行性能优化。

相对而言,对后端进行性能剖析稍显困难,一般而言,从最耗时的请求入手查找相应的服务器是个不错的方法,这里并没有推荐任何有关后端的性能剖析工具,这是因为具体的剖析工具要视具体的后端技术栈而定(具体可查看马海祥博客《移动设备Web App开发与调试的相关知识要点》的相关介绍)。

14、负载均衡

简而言之,负载均衡类似于一种轮询方案,基于反向代理服务器nginx或者成熟的分发网络,比如Cloudflare和Amazon CloudFront构建。

为了实现负载均衡,需要将动态内容和静态内容进行分离,便于执行并行连接。换言之,串行访问削弱了负载均衡检索最佳路径并进行分发的能力。此外,并行加载资源还可以加快应用程序的启动速度。

负载均衡也可以构建的很精细,如果数据模型不能够很好地与最终的一致性算法或缓存保持良好的匹配关系,那么必将导致诸多问题,幸运的是,大多数的应用程序所请求的数据都是一个缩减集,该缩减集本身具有较高级别的一致性,如果你的应用程序还没有具备这样的能力,那么你需要考虑重构它了。

15、算法

在大多数情况下,选择更高效的算法可以比局部优化获得更佳的收益。

从某种意义上说,对CPU和内存进行性能剖析有助于帮助开发者找出应用程序中较大的性能瓶颈,如果这些瓶颈并不是由代码的错误引起的,那很有可能就是算法的问题。

马海祥博客点评:

随着应用程序变得越来越庞大和复杂,性能优化在开发中的地位也越来越重要,针对性的性能优化至关重要,有助于降低时间成本和维护成本,APP应用程序历经发展,其作用已经不再是单一的内容展现,学习通用的性能优化模式,可以将一个难以使用的应用程序转为一个易于上手的工具,没有任何规则是绝对的,只有不断研究和剖析技术栈的深层次逻辑,才能合理进行性能优化。

本文发布于马海祥博客文章,如想转载,请注明原文网址摘自于http://www.mahaixiang.cn/App/1446.html,注明出处;否则,禁止转载;谢谢配合!

相关标签搜索: app  

上一篇:移动设备Web App开发与调试的相关知识要点
下一篇:Web网站与移动App应用的区别差异

您可能还会对以下这些文章感兴趣!

  • 盘点那些不为人知的App推广技巧

    在武侠片中,常听一些高人会说:有人的地方就有江湖。互联网也算是个大江湖了,有白道起家的,有黑道起家的,黑道的成名了,总想洗白,白道的也总是看不上黑道的小伎俩,不过在这个江湖中,普遍存在的还是介乎白道和黑道中间的,黑白两道都玩的转、吃的开,才是硬道理……【查看全文

    阅读:3280关键词: app推广技巧   app推广   日期:2014-07-30
  • 比较实用的APP排名优化方法技巧

    相信有些已经做过APP运营的朋友对ASO有所了解了,其实ASO原意是APP在iOS端的优化,后来慢慢演变成了APP在iOS、安卓的各个渠道的优化,在iOS端,因为苹果的App Store霸占了绝大多数的市场,所以一般优化策略都是针对App Store市场,而安卓端有360、应用宝、小米等大大小小的市……【查看全文

    阅读:712关键词: app排名   app优化   app   日期:2017-05-09
  • ASO是什么?

    ASO是英文“App Store Optimization”的首字母缩写,是“应用商店搜索优化”的简称,狭隘点说,就是提升App在各应用市场排行榜以及搜索结果中的排名的过程,类似移动APP的SEO优化。ASO优化和搜索引擎的SEO优化类似,主要是标题,关键词,描述三个部分的优化,可以尝试设……【查看全文

    阅读:894关键词: aso   日期:2016-05-06
  • APP是什么意思?

    APP也就是应用软件的意思,是英文Application的简称,通常是指iphone,安卓等手机应用,现在的APP多指智能手机的第三方应用程序。直观的说app就是应用软件,现在主要指的都是ios,mac,android等系统下的应用软件,再直观一点的说,APP就我们使用的智能手机上的第三方……【查看全文

    阅读:3037关键词: app是什么   什么是app   app   日期:2014-09-10
  • 移动设备Web App开发与调试的相关知识要点

    Web App有App的特性,更有Web的特性,每一个Native App在当前的用户使用场景下是相对孤立的,而Web App则可以像传统互联网网页那样相互链接,从一个Web App直接跳转到另外一个Web App,这无论是从用户的使用体验层面还是从应用之间的数据传输来看都是非常不错的选择,如……【查看全文

    阅读:698关键词: 移动设备   日期:2016-02-03
  • APP运营:如何打造一个企业app应用?

    APP运营主要是指网络营销体系中一切与APP的运营推广有关的工作,主要包括APP流量监控分析、目标用户行为研究、APP日常更新及内容编辑、网络营销策划及推广等内容,这里的APP就是应用程序application的意思。首先我们来解构下App运营这个职位。App运营这样一个岗位包含的……【查看全文

    阅读:8420关键词: APP运营   企业app   app应用   如何运营APP   日期:2014-01-10
  • 新接手一款App该怎么做App优化推广?

    说到App的优化,就必须要学习ASO了,其实ASO有其优化原理和相关的理论性内容,也有具体到每一个细节的实际操作方法,但两者的联系并非直接且明了,很容易读了很多讲App Store算法的文章,也看了很多优化的案例,但还是不知道如何将原理落实到操作,这篇文章不再讲理论,……【查看全文

    阅读:385关键词: app   app推广   日期:2016-07-12
  • APP用户体验开发的10大原则

    一个优秀的APP应用软件,主要还是看它的具体功能应用体验,如果用户在使用APP过程中,APP功能体验能迎合用户的需求,给用户一个清晰明了的功能界面,让用户一看到这个功能就知道里面是干什么的,所以,以后的APP发展趋势就是需要迎合用户体验为主展开实施开发,如果想从……【查看全文

    阅读:4014关键词: 用户体验   app开发   app   日期:2015-03-11
  • APP推广的难点和突破口

    App的生命周期平均只有10个月,85%的用户会在1个月内将其下载的应用程序从手机中删除,而5个月后,这些应用程序的留存率仅有5%,在中国APP榜单上,占据前几名的始终是BAT开发的手机应用,20%的App攫取了80%的行业收入,“二八效应”十分明显,这就是当前APP行业的贫富不……【查看全文

    阅读:1788关键词: app   app推广   日期:2015-08-19
  • APP常用的推广方法

    受渠道集中化和市场竞争的激烈化的影响,现在的APP推广越来越难,推广和开发又不一样,开发一个APP比较简单,招聘几个技术员画个设计图几个月就能上线了,虽然累点,但是产品一上线,对技术同学们来说,工作就算完成了一大半,而推广则不一样,推广是一个慢慢积累的过程……【查看全文

    阅读:2454关键词: app   app推广   日期:2015-10-06
↓ 点击查看更多 ↓

互联网更多>>

SEO优化 更多>>

网站前端性能优化中最容易被忽略的10个技巧 未来的站内SEO优化需要做些什么?