急性肠炎症状

注册

 

发新话题 回复该主题

现在有些App光安装包就好几G程序员其实 [复制链接]

1#

偶然间看到有人讨论说:“现在的有一些手机App太占手机空间了,有的连安装包都有好几个G,真不知道这些App的开发团队怎么想的,难道就不能把App做小一点吗?以前的App咋没那么大?”。

作为一个做软件开发的程序员,我想说的是:“其实任何一款手机App都可以做到很小,但是实在没有这个必要!”。

首先就是现在手机的存储空间已经很大了,像我国一些手机厂商推出的几百块的入门机型的存储空间大多数都是从G起步的。所以,手机App的设计者完全没有必要研究如何限制App的大小。

因为,就目前来看,大多数人的手机存储空间都是够用的!实在不够用的情况下,现在有很多手机都带SD卡扩展槽,只需要花几十块或者最多百来块钱就可以将手机存储空间扩展到够用的地步。另外,现在很多手机也自带云存储功能,就是将手机里的数据自动存储到云端。这样手机里就不需要存储那么多占用空间的照片、视频等等。

而作为软件的设计者,我们考虑得还不仅仅是用户手机的存储问题,更多的是基于实际情况的考量。

在电脑软件时代,一些大的电脑软件其实已经推出过“微端”这种形式的软件了。

所谓的“微端”其实顾名思义就是微型客户端的意思,在游戏软件上比较常用。因为游戏软件的安装资源是比较大的,所以我们下载一些游戏客户端时,发现一些游戏动不动就几个G甚至几十上百G!

因为游戏软件的客户端太大,很多网速不好的用户经常要下一整天才能把游戏下完。所以,为了解决这个痛点,“微端”这个客户端形式就出现了。

而微端的做法其实也很简单,就是只将游戏的基础框架程序打包起来,而打包后的游戏客户端可能只有几十M或者几百M。

当用户安装完游戏客户端进入游戏以后,游戏客户端再根据自己所需的资源去同步下载资源。所以,很多时候我们在玩这种游戏的时候,会发现比如游戏的地图有时候是模糊的,但是过一会儿就变清晰了。实际上就是因为游戏客户端会先将一些资源先压缩展示,当资源下载完以后再加载完整的资源。

所以,别看一些游戏的微端客户端很小,但是,实际上当玩家把游戏里面所有资源(包括地图模型、装备模型、游戏特效、游戏音效、怪物模型等等)都加载完以后,再去查看游戏的安装目录的大小,实际上不比游戏的完整客户端小!

但是,这个微端理念在移动App时代,就显得不那么有用了。如果还按照这种模式去设计App,那么会给用户带来麻烦的!

其实说白了,“微端”的核心设计思路就是“按需下载”,它的初始形态就比较“空”,所以能做到体型小。但是这种小体型只是一种假象而已!

微端所解决的痛点就是软件过大的问题,而电脑游戏客户端之所以这么大,就是因为游戏资源比较大,而为了良好的游戏体验,给游戏带来更好的画质,所以也无法以压缩游戏资源质量来换取更小的游戏客户端。

但是,现在是移动互联网时代,很多移动App虽然不是游戏软件,但是好像也动不动就几百M甚至是过1G。而虽然有些App的安装包看起来好像很小,但是使用一段时间后再去看,你会发现也是好几个G。

有人就好奇,这些软件都干了啥,为什么体型都这么大呢?好像在移动互联网初期,这些软件也就最多几十M而已。

搞懂这些问题,我们要知道,我们所熟悉的一些知名移动App,它们本身已经不仅仅是一个App了,而是一个平台。

像我们所熟悉的三大移动App“微”、“支”、“抖”,它们虽然目前仍然承担着最初的使用功能,可是发展到现在,它们已经从一个具体功能指向的App发展成了一个移动互联网平台。

其实这些App本身功能所占用的存储空间很小,但是,它要把一些常用的其他生态链上的功能集中到软件上,因此安装包就会比较大。

而随着用户在这些移动互联网平台上使用的功能越来越多,App所需要占用的存储空间就会越来越大。有时候我们不去清理的话,这些软件可能会膨胀到几个G甚至是几十G!

很多人觉得这些软件把常用功能预先集成到安装包里觉得没必要,其实,这种想法是不正确的。软件的运营商其实也是从用户角度考虑,才作出这样的决定的。

我们不妨再拿游戏软件举个例子!

现在很多移动端游戏的安装包也很大!当然,也有很多移动游戏也推出了微端,但是微端却不适合移动端,因为它会带来一个直接后果,那就是会非常消耗流量。

假设我们下载了一个游戏,当我们不在WiFi环境下去玩的时候,进入了一个我们从来没有进入过的游戏地图。此时,游戏客户端就要去下载这部分的地图资源。

一个游戏地图可能占用的资源从几十M到几百M不等,一些超级地图可能一个地图就有几个G!此时,没有连接WiFi去下载这部分地图资源的话,可能没一会儿流量就被耗尽了。

这时候,用户所担心的就不是存储空间不够了,而是流量被消耗完了。

而如果用户预先在WiFi环境下将游戏的完整客户端下载下来的话,后期再打开游戏可能消耗的流量就只在与游戏服务器传输数据这块,而这部分所消耗的流量资源其实很小。

而那些看起来庞大的移动App所考虑的,也是基于这一点。如果不将一些常用App功能集成到安装包中的话,那么用户在非WiFi环境去使用这些功能时,无疑也需要下载,这时候就会消耗用户流量。可能一个功能所需要下载的资源很少,但是当功能多了,所需要消耗的流量就多了!

还有人觉得App越用越大,因此无法接受。但这也是有原因的!

App会将一些常用的资源缓存起来,这样等下次再次使用这部分资源的时候就不需要再去下载了。所以,当你的某款手机App所占用的存储空间越多,说明你使用这个App的附加功能就越多。

主App当然可以做到将这些附加功能“用完即抛”,但是当你下次再去使用这部分功能的时候,无疑要重新下载。

你手机里有一个App这样也就算了,当你手机里所有App都这么做的话,可能你的流量在月初几天内就会被消耗完。

目前主流的占用空间大的软件就那么几款,他们所承担的角色其实是一个移动互联网的平台。在这些移动互联网平台里你所使用的功能大多数其实都能找到独立的App。

如果这些移动互联网平台没有集成这些功能,你自己将每一个功能的App都下载下来的话,你会发现他们总共占用你手机的空间可能更多。

事到如今移动App的设计思想其实已经很成熟了,虽然满足不了所有人的使用情况,但是App在设计的时候会考虑到大部分人的使用场景。也许在未来可能有更好的解决方案,但是目前来看,移动App大有它大的道理!

如何避免App过大的问题

或许有一天,我们的移动端媒介已经不仅仅是手机、手机存储已经不是问题、流量费用我们已经不需要担心的时候,自然会有更好的、符合时代的App设计方案出来。

而就目前来看,如果你觉得某款App占用你手机的空间太多,你可以将不需要的缓存清理出去。

大多数的手机App其实都有清理缓存的作用,比如说我们平时发送的一些占用存储空间比较大的图片、视频、文件等等。这些资源我们大多数情况下都是被动接收的,因此它们会被缓存在App的缓存文件夹内。因此,常清理这部分数据,会很大程度上减小App所占用的系统存储空间。

而如果你实在不会清理,或者觉得清理不太干净的话,你可以隔一段时间将App卸载一次,然后再重新下载。这样的话,也能减少App占用的存储空间。

分享 转发
TOP
发新话题 回复该主题