移动应用程序和网页应用程序

by Rajput Mehul

通过拉杰普特·梅胡尔(Rajput Mehul)

您的移动应用程序运行缓慢的主要原因以及如何修复它 (Top Reasons Why Your Mobile App is Slow and How to Fix it)

At a time when technology is moving ahead at an express pace and people don’t have any patience, you’ve got to remain on the tips of your toes to ensure you retain your users.

在技​​术以迅捷的速度前进并且人们没有耐心的时候,您必须保持警惕,以确保留住用户。

It’s true that a majority of end users can’t wait to get a response from a mobile app. The ideal loading time for a mobile app is about two seconds. However, according to a study by Akamai research, for every additional second that the app consumes, the conversion rate declines by 7%.

的确,大多数最终用户都迫不及待地想从移动应用程序中获得响应。 移动应用程序的理想加载时间约为2秒。 但是, 根据Akamai研究机构的一项研究 ,该应用程序每消耗一秒钟,转换率就会下降7%。

To add to the misery, users tend to get frustrated and angry if they have to wait longer, never again to return back to the same app. Another report reveals that 48% of the customers uninstall or stop using an app if it is slow.

更令人痛苦的是,如果用户不得不等待更长的时间,他们往往会感到沮丧和生气,再也不会回到原来的应用程序了。 另一报告显示,如果应用程序运行缓慢,则有48%的客户会卸载或停止使用该应用程序。

Therefore, the first imperative task on hand is to find the actual cause or reason why the app is slow. Once you have identified the main issue, you can then take the necessary actions to fix the problem and offer your users an enhanced experience.

因此,手头首要任务是找到导致应用程序运行缓慢的实际原因或原因。 一旦确定了主要问题,就可以采取必要的措施来解决问题并为用户提供增强的体验。

The major issues that make your mobile app slow are:

使您的移动应用变慢的主要问题是:

  1. Your app is obsolete and not supportive您的应用已过时且不支持
  2. Sluggishness of the server speed服务器速度缓慢
  3. Encrypted connections are not optimized加密连接未优化
  4. Chatty conversations闲聊
  5. Faulty library and software development kit错误的库和软件开发套件
  6. App is overcrowded with data应用数据过多
  7. Network latency网络延迟

In this article, we’ll cover each of these issues in detail. So let’s get started.

在本文中,我们将详细介绍每个问题。 因此,让我们开始吧。

1.您的应用已过时且不支持 (1. Your App is Obsolete and Not Supportive)

If you are into the app development business, you must be well aware how important it is to update your app at regular intervals. Whether you are an Android or an iOS app developer, you have to make sure that the app is designed on the latest version of the Operating System.

如果您从事应用开发业务,则必须清楚了解定期更新应用的重要性。 无论您是Android还是iOS应用程序开发人员,都必须确保该应用程序是在最新版本的操作系统上设计的。

For instance, currently in case of Android, it has to be Android Oreo or Nougat. For iOS, it needs to be iOS 11 or 10. So, if you are not optimizing your apps to run on those platforms, or if you are using an older framework, the app tends to become slow. Additionally, older platform versions do not receive the required support from the vendor, and after a specific date, the support stops altogether.

例如,当前使用Android,必须是Android Oreo或Nougat。 对于iOS,它必须是iOS 11或10。因此,如果您没有优化应用程序以在那些平台上运行,或者使用的是较旧的框架,则该应用程序会变得很慢。 此外,较旧的平台版本未获得供应商的必需支持,并且在特定日期之后,该支持将完全停止。

The solution to the problem is updating and optimizing the software and keeping in touch with the latest trends related to app development and design. Updating your app and testing it on the newer platforms also ensures that it is compatible with the newer operating system versions. It also enhances the performance of your app.

解决该问题的方法是更新和优化软件,并与与应用程序开发和设计有关的最新趋势保持联系。 更新您的应用程序并在较新的平台上对其进行测试还可以确保它与较新的操作系统版本兼容。 它还可以增强应用程序的性能。

You always get updated information on security alerts and bug fixes, which accelerates the speed of the app.

您始终可以获得有关安全警报和错误修复的最新信息,从而可以加快应用程序的速度。

2.服务器速度缓慢 (2. Sluggishness of the Server Speed)

You must have come across this message many times - the server is down or not connected. Well, this is one of the common reasons why some websites took a long time to load, and the same issue is getting repeated here with mobile apps. The server is slow or it has become overloaded.

您必须多次遇到此消息-服务器已关闭或未连接。 好吧,这是某些网站加载时间很长的常见原因之一,并且移动应用程序在此重复出现相同的问题。 服务器速度慢或过载。

There may be many reasons the backend infrastructure is slow:

后端基础架构速度慢的原因可能很多:

  • The server may slow down due to the multi-tiered infrastructure on which most modern-day applications run.由于运行大多数现代应用程序的多层基础结构,服务器可能会减慢速度。
  • You may have problems accessing files from the disk, running the application code, or communicating instantly with users over the chat, and so on.您可能在从磁盘访问文件,运行应用程序代码或通过聊天即时与用户通信等方面遇到问题。

The root cause to all these issues is the same: an overloaded or overworked server. At times, the issue may be related to the latency of another process that your app heavily relies upon for most of its tasks.

所有这些问题的根本原因是相同的:服务器过载或工作过度。 有时,问题可能与您的应用程序大部分任务所依赖的另一个进程的延迟有关。

To fix the problem, you can adopt a couple of approaches.

要解决此问题,您可以采用两种方法。

  1. Identify the interactions between the various components of the application, which is known as the Application Dependency Mapping (ADM).识别应用程序各个组件之间的交互,这称为应用程序依赖关系映射(ADM)。
  2. Try to take some load off the server by providing an extra reverse proxy server. A reverse proxy provides many benefits and accelerates the web requests by providing compression, SSL termination, caching, and other benefits.通过提供额外的反向代理服务器,尝试减轻服务器的负担。 反向代理提供许多好处,并通过提供压缩,SSL终止,缓存和其他好处来加速Web请求。

In fact, you can choose yet another alternative which is deploying a load balancer to help distribute the traffic evenly.

实际上,您可以选择另一种替代方案,即部署负载平衡器以帮助平均分配流量。

3.加密的连接未优化 (3. Encrypted Connections are not Optimized)

SSL/TLS connections provide encryption for data in-transit and are crucial from the app development point of view. So don’t overlook them! But they too can create problems if left un-optimized.

SSL / TLS连接可为传输中的数据提供加密,并且从应用程序开发的角度来看至关重要。 所以不要忽视他们! 但是,如果不进行优化,它们也会造成问题。

Unoptimized encrypted connections result in decreased performance of the app. Some of the key reasons identified by experts are:

未优化的加密连接会导致应用程序性能下降。 专家确定的一些关键原因是:

  1. A handshake is required each time you open a new connection, which affects the speed.每次打开新连接时都需要握手,这会影响速度。
  2. Problems are faced during the encryption of data on the server and decryption on the client-side.在服务器上的数据加密和客户端上的解密过程中会遇到问题。

To address these issues, encrypted connections must be optimized. This can be done by incorporating HTTP/2 and SPDY which reduce the connection overhead with clients by requiring only a single handshake for each session.

为了解决这些问题,必须优化加密连接。 这可以通过合并HTTP / 2和SPDY来完成,HTTP / 2和SPDY通过仅为每个会话进行一次握手来减少与客户端的连接开销。

You can also adopt other techniques to solve the problem, such as the use of OpenSSL, Session Tickets, session caching, and so on.

您还可以采用其他技术来解决该问题,例如使用OpenSSL,会话票证,会话缓存等。

4.健谈 (4. Chatty Conversations)

The problem of chatty conversations with the application server occurs when the client makes several requests to conduct a transaction on behalf of individual operations within the application.

当客户端代表应用程序中的各个操作发出几个请求进行事务处理的请求时,就会发生与应用程序服务器进行健谈的问题。

Now that virtualization has been introduced, this allows you to develop a virtual version of the device or resource, like a storage device, the server, the network, or even the operating system.

现在已经引入了虚拟化,这使您可以开发设备或资源的虚拟版本,例如存储设备,服务器,网络甚至是操作系统。

It may be that the server team has configured the automatically migrated server image to a host that is lightly loaded due to virtualization. It may move the server image to another location so that it gets many milliseconds further away from the servers or disk storage system.

服务器团队可能已将自动迁移的服务器映像配置为由于虚拟化而被轻载的主机。 它将服务器映像移到另一个位置,使其与服务器或磁盘存储系统的距离增加了几毫秒。

If you want to fix this issue, you have to look into the number of requests between systems where it is linked up with the network. It’s also a good idea to check out delays between the requests.

如果要解决此问题,则必须调查与网络链接的系统之间的请求数。 检查请求之间的延迟也是一个好主意。

5.错误的库和软件开发套件 (5. Faulty Library and Software Development Kit)

An app developer may be very particular about ensuring best in class performance. However, there may be problems with the libraries and Software Development Kit (SDK) provided by the vendor that are out of the control of the developer.

应用程序开发人员可能非常注重确保一流的性能。 但是,供应商提供的库和软件开发工具包(SDK)可能存在开发者无法控制的问题。

You need to review the code of third-party libraries to see whether it contains errors or bugs. If the libraries are not monitored carefully, the application tends to become tardy.

您需要查看第三方库的代码,以查看其中是否包含错误或错误。 如果未对库进行仔细监视,则应用程序将变得迟滞。

A few examples of issues with third-party libraries that come to mind are:

想到的一些第三方库问题的示例是:

  • Allowing images to be loaded into the app by using the Picasso and Glide libraries

    允许使用Picasso和Glide库将图像加载到应用程序中

  • Simplifying the communication process between different parts of the application by using the Eventbus library

    使用Eventbus库简化应用程序不同部分之间的通信过程

  • Retrofit, an Android-based library that helps arrange the API calls in a projectRetrofit,一个基于Android的库,可帮助安排项目中的API调用

Ensure that you’re using secure, stable, and reliable libraries that have a large community.

确保您使用的社区安全,稳定和可靠。

6.应用程序数据过多 (6. App is Overcrowded with Data)

Well, this is no rocket science and can be easily identified and resolved. The app becomes overloaded with data and the outcome is that the app slows down. If too many servers are loaded, it consumes a lot of time. However, it is not a good idea to curtail your data and compromise the handy features of your app.

好吧,这不是火箭科学,可以很容易地识别和解决。 该应用程序变得数据过载,结果是该应用程序速度变慢。 如果加载了太多服务器,则会消耗大量时间。 但是,缩减数据并破坏应用程序的便捷功能不是一个好主意。

The simplest and undeniably the best solution to the problem is compressing data. Whether you have images, videos, graphics or audio content, if you compress the data it will make your app loading faster and you don’t have to mess with any of its features or functionality.

解决该问题的最简单且不可否认的最佳解决方案是压缩数据。 无论您有图像,视频,图形还是音频内容,如果压缩数据,它都可以使您的应用程序加载更快,并且您不必弄乱其任何功能。

But you have to choose the appropriate compression standards according to the file size and content. If we talk about some of the common methods to compress or reduce the size of data, there are two options available. The first is the lossless method and the second is lossy compression.

但是您必须根据文件的大小和内容选择适当的压缩标准。 如果我们讨论压缩或减小数据大小的一些常用方法,则有两个可用选项。 第一种是无损方法,第二种是有损压缩。

  1. Lossless compression: In this method, the developer can restore the file to its original size and there is no loss of data when the file is not compressed. This type of data compression technique is used when reducing the size of text and spreadsheet documents.

    无损压缩:通过这种方法,开发人员可以将文件还原到其原始大小,并且在不压缩文件时不会丢失数据。 减少文本和电子表格文档的大小时,将使用这种类型的数据压缩技术。

  2. Lossy compression: In the second approach, you’re actually removing the data from the app, which is usually not really noticable. This data compression method is used to compress the size of video, audio, and graphic files.

    有损压缩:在第二种方法中,您实际上是从应用程序中删除数据,通常这并不是很明显。 此数据压缩方法用于压缩视频,音频和图形文件的大小。

7.网络延迟 (7. Network Latency)

The speed of the network can hugely affect the speed of your mobile application. If the network is slow, the app performance will also be slow. If an application is making a query to a non-existent primary DNS server and gets no reply, it will try the second DNS server — but this slows down the application speed.

网络的速度会极大地影响您的移动应用程序的速度。 如果网络速度慢,则应用程序性能也会变慢。 如果应用程序正在对不存在的主DNS服务器进行查询并且没有得到任何答复,它将尝试第二个DNS服务器-但这会降低应用程序的速度。

In order to fix the problem, you have to check the network speed all the time and see when the app slows down.

为了解决此问题,您必须始终检查网络速度,并查看应用程序运行速度下降的时间。

结论 (Conclusion)

Mobile apps are a great source with which to reach out to your targeted audience. But if they’re not performing up to the mark or they become slow, it needs to be addressed quickly. There are different reasons why your app loses out in the speed factor, so you have to identify the exact problem and solve it as soon as possible.

移动应用程序是与目标受众联系的绝佳来源。 但是,如果他们没有达到目标或变得缓慢,则需要Swift解决。 您的应用失去速度因素的原因有多种,因此您必须确定确切的问题并尽快解决。

Alternatively, you can to utilize the servicees of an experienced and highly reliable App Development Company that has expert developers that understand the trick of accelerating application speed to do the job :)

或者,您可以利用经验丰富且高度可靠的App Development Company的服务,该公司具有专业的开发人员,他们了解加快应用程序速度的技巧来完成工作:)

If you enjoyed this story, please click the ? button and share to help others find it!

如果您喜欢这个故事,请单击“?”。 按钮并分享以帮助他人找到它!

翻译自: https://www.freecodecamp.org/news/top-reasons-why-your-mobile-app-is-slow-and-how-to-fix-it-f0f7ce524934/

移动应用程序和网页应用程序

移动应用程序和网页应用程序_您的移动应用程序运行缓慢的主要原因以及如何修复它...相关推荐

  1. 小程序禁用ios 左右滑动_如何在使用应用程序时禁用iOS控制中心

    小程序禁用ios 左右滑动 The Control Center has proven to be a thoughtful and welcome addition to iOS, but it c ...

  2. 小程序源码 租房管理系统_如何通过租房小程序开发快速引流

    租房市场在整个房产市场占据了极大一部分市场份额,而随着租售同权政策的提出.房价的不断提升,租房市场份额将进一步扩大. 合肥小程序开发智速新媒体公司 传统的租房方式不管是出租方还是租房客户,彼此之间的消 ...

  3. 程序员叫啥名字_他们的名字叫程序员

    每天电脑前铺满了各种代码,每天后台系统都在拼命刷屏测试. 每天都键盘哗啦啦响个不停,每天纠结于各种bug.rule.test.code.review等之间. 每天都会为了遇到的问题争论不休,问一个是与 ...

  4. python程序员职业规划书_读书笔记之《程序员必读的职业规划书》

    我是来填坑的, 早就忘记是什么时候什么原因关注的@Easy 的,之前就在"百度阅读"买了电子版的<程序员跳槽全攻略>,记得当时还送了鼠标垫的,5月份在又看到Easy为庆 ...

  5. 微信小程序怎么弄成链接_教你设置小程序链接地址

    在轻应用小程序中设置链接地址可以实现页面的跳转,带用户轻松去往各个页面.其中,能够设置链接的元素丰富多彩,比方说图片.文字等,设置链接的类型究竟有哪些,怎么设置呢?下面听小编娓娓道来. 小程序里面为用 ...

  6. 编写python程序一年365天_编写第一个Python程序

    无论读者使用的是哪种操作系统,相信都已经安装好了 Python 环境,可以通过命令行窗口或者 Python 自带的 IDLE 成功启动交互式解释器(如图所示). 本节将带领读者正式编写第一个 Pyth ...

  7. 想作为程序员工作 需要什么_您不想作为程序员玩的游戏

    想作为程序员工作 需要什么 by Amy M Haddad 通过艾米·M·哈达德(Amy M Haddad) 您不想作为程序员玩的游戏 (The game you don't want to play ...

  8. 小程序分享到朋友圈_微信内测开放小程序分享到朋友圈功能

    点击上方 ↑ 指尖渭南 关注我们好资讯抢鲜看 向上滑动阅读全文↑↑↑ 一大早在各科技公众号有看到小程序支持直接分享到朋友圈,这么好的功能,忍不住要实践下. 根据官方文档走起,文档地址:https:// ...

  9. python编写程序计算三角形的面积_编程题:编写程序输入三角形的3条边长,计算并输出三角形的面积。...

    展开全部 一.程序分析 三角形面积海伦公式:√[ p ( p - a ) ( p - b ) ( p - c ) ] .其中 p = (a + b + c) / 2 .a.b.c分别是三角形的三边长. ...

最新文章

  1. java string s_Java字符串:“String s=新字符串(”愚蠢“);
  2. gravity和layout_gravity
  3. BicycleGAN详解与实现
  4. shell脚本实现FTP自动上传文件
  5. VC里面的钩子程序HOOK
  6. windows下强制删除文件
  7. 利用微搭低代码操作微信缓存
  8. 麦克风有突突突的杂音
  9. 数据挖掘并不遥远( 转载)
  10. 轮播移动端 html,移动端h5如何使用轮播插件swipe
  11. 20181113-1 版本控制报告
  12. element el-table 计算指定列
  13. hangfire使用笔记
  14. 做亚马逊的工作,到底辛不辛苦?值得吗?
  15. Python练习(四)
  16. win7无法访问服务器共享文件夹解决办法
  17. Linux 练习 - 磁盘存储和文件系统
  18. Java-CSS美化网页01
  19. 网络RTK和传统RTK的技术定义区别
  20. 逆战--关于微信小程序

热门文章

  1. mendix归还界面如何只显示登录人自己借阅的书籍,而不显示全部人借阅的书籍
  2. 实验1 应用SQL Server进行数据定义和管理
  3. wowpve服务器优势,PVE服务器法师对本职业的一点看法
  4. php No 'Access-Control-Allow-Origin' header is present on the requested resource.'Ajax跨域访问解决方法
  5. 17-flutter导航栏渐变效果
  6. iOS lldb调试
  7. 使用Powershell批量为Azure资源添加Tags
  8. 《C++游戏编程入门(第4版)》——1.12 习题
  9. C#编程应用--线程与委托
  10. 关闭Windows 8的metro UI的方法汇总