首页

App开发动态 NEWS

深圳app开发:提升App开发性能的技巧有哪些?

022018-03
2018-03-02 15:09泽辰云科浏览:
现在,App日益重视用户的交互体验,了解性能优化的方式则可以有效提高用户体验。对此,深圳app开发泽辰云科总结多年App开发经验整理App开发中提高性能优化技巧,希望可以帮你改善应用的流畅度、渲染时间和其他方面的性能表现。

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

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

1、规划好应用功能,做好应用架构评估
用户体验开始于App开发初始规划阶段,当你梦想开发一个App改变世界之前,先想好App开发主要解决用户的哪些真实需求,提炼出App的核心功能,一个App并不是功能越丰富越好,核心功能才能为用户带来不可替代的价值。
想清楚核心功能,才能做好应用架构评估,应用程序性能不佳可能是因为可扩展性限制、不匹配的技术选择、低效的网络配置以及UI设计不符合移动端使用习惯等因素,清晰完整的App架构规划有利于构建用户所需的系统功能构建(具体可查看马海祥博客《详解APP软件开发过程中的解构和重构》的相关介绍)。

2、良好的编程习惯
提升App开发性能的技巧有哪些?
良好的编程习惯不仅可以使程序代码易于读懂和修改,还可以使程序结构合理、清晰。
开发人员可以从程序结构模块化、命名规则清晰易懂、注释方法简洁明了,文本格式易读等方面开始养成良好习惯,让应用开发事半功倍,提高程序的执行效率。

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层级哪些地方可以优化。
它可以帮助你找到不必要的控件嵌套以及缩减布局资源的其他方法,以尽量减少资源的使用。
它让你可以了解哪些布局控件可能是多余的或不必要的。
控件越少、布局层次越浅,性能就越好。

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

10、规划应用的离线体验
当用户无法连接WiFi或其它网络信号时,用户使用App时仍然能够有极佳的可用性,那一定能给你的App加不少印象分。
在规划App应用时,应该将这一设计方法考虑其中,提前规划好App在离线状态下的运营模式。

11、按需加载
按需加载资源或者说懒加载资源(特别是图片)对优化Web App的性能有很大帮助,对于图片较多的页面,使用懒加载通常有以下三点好处:
(1)、减少并发请求,缓解服务器压力,提高加载速度。
(2)、减少浏览器的内存占用率。
(3)、降低服务器的负载。
图片或其他资源懒加载的方案一般是,在程序启动时加载首屏资源,在页面滚动时持续加载即将进入视口的资源,由于这种方法往往需要与页面结构和开发方式相协调,所以常常使用现有的插件和扩展来实现惰性加载。
一个典型的按需加载实例就是谷歌的图片搜索工具,点击这一链接并滚动页面,打开开发者工具注意资源的加载时间。

12、缓存
缓存常用来存储频繁调用的数据,当缓存后的数据再次被调用时,就可以由缓存直接提供数据,提高数据的响应速度。
通常来说,一个App都是由多个组件构成的,在这些组件中都能发现缓存的影子,比如动态内容服务器和客户端之间使用的缓存,通过减少通用请求降低服务器负载,可以改善页面的响应时间;比如代码中的缓存处理,可以优化某些通用的脚本访问模式。此外,还有数据库缓存和长进程缓存等。
简而言之,缓存是改善应用程序响应速度和降低CPU负载的有效方式,在一个开发体系中,最难的不是如何使用缓存,而是找出哪里适合使用缓存。
对于这一问题,我还是建议使用事件分析工具(profiler):找出性能瓶颈,检测缓存是否成功,测试缓存是否容易失效……这些问题都需要历经实践才能得出有效的结论。

13、性能剖析
性能剖析是应用程序进行性能优化的重要步骤,在马海祥看来,盲目地优化应用程序往往会降低生产力、产生新的痛点且难以维护,性能剖析的作用就是要找出应用程序中潜在的风险区域。
对Web应用程序来说,响应速度是一个非常重要的衡量指标,所以开发者都会尽可能地去提高资源的加载速度和页面的渲染速度。
此外,如果合理分析内存的使用率,也将有效提高应用程序的性能,如果你的页面中有大量的视觉元素(比如动态的表格)或者大量的交互元素(比如游戏),那么对内存使用的剖析就可以有效减少卡顿,提高帧速。
找出性能的核心痛点,才能让你更加高效地进行性能优化。
相对而言,对后端进行性能剖析稍显困难,一般而言,从最耗时的请求入手查找相应的服务器是个不错的方法,这里并没有推荐任何有关后端的性能剖析工具,这是因为具体的剖析工具要视具体的后端技术栈而定。

14、负载均衡
简而言之,负载均衡类似于一种轮询方案,基于反向代理服务器nginx或者成熟的分发网络,比如Cloudflare和Amazon CloudFront构建。
为了实现负载均衡,需要将动态内容和静态内容进行分离,便于执行并行连接。换言之,串行访问削弱了负载均衡检索最佳路径并进行分发的能力。此外,并行加载资源还可以加快应用程序的启动速度。
负载均衡也可以构建的很精细,如果数据模型不能够很好地与最终的一致性算法或缓存保持良好的匹配关系,那么必将导致诸多问题,幸运的是,大多数的应用程序所请求的数据都是一个缩减集,该缩减集本身具有较高级别的一致性,如果你的应用程序还没有具备这样的能力,那么你需要考虑重构它了。

15、算法
在大多数情况下,选择更高效的算法可以比局部优化获得更佳的收益。
从某种意义上说,对CPU和内存进行性能剖析有助于帮助开发者找出应用程序中较大的性能瓶颈,如果这些瓶颈并不是由代码的错误引起的,那很有可能就是算法的问题。【深圳app外包公司为您整理】
 
BACK
分享:
0