2014年7月4日星期五

目前的离线地图确实不等于 0 流量


为何使用了离线地图还会消耗手机流量,有办法避免吗?

贺滨,蓄力的芦苇

做地图有段时间了,值得欣慰的是,终于有人意识到了「离线地图」文字上的猫腻了。

先直接解答题主的疑惑:

1、 即使下载了「离线地图」,大多数地图 APP 在正常使用过程中依然会消耗流量。

2、 完全不消耗流量的地图 APP(即「零流量地图」)是完全可以实现的。

要详细解释这个问题,需要搞清楚手机离线地图的发展的几个时代:

一、「先下再用」时代

早期的手机地图,必须先下载从几百 Mb 到几 G 容量不等的地图数据包,然后配合导航应用使用。用过塞班手机的同学应该还记得著名的 R66 导航吧?当时就是这么用的。

印象中,那时的地图,等同于 400 Mb 左右客户端 + 1Gb 以上地图包 + 零流量(GPS 定位时)。

二、「即需即下」时代

所谓「离线地图」,只相当于一张画满了建筑和道路的图层,由于平常人去的地方非常有限,没必要预置全世界的地图图层在手机中(会占据大量手机容量),因此部分地图 APP 采用了全在线地图的方式,「即需即下」,Goolge Map 就是如此。在网络通畅、流量便宜的地区,这种服务非常方便。

看了早期的 Google Map for Android,客户端 15 Mb,因为要下载图层,流量消耗没有上限,根据使用情况而定。

三、「离线地图」时代

由于每次都需要加载图层、流量消耗较大,工程师发现:与其每次下载图层文件,不如把一些常去地的图层做成大小能接受的数据包(即离线地图包),供用户在 WiFi 等流量不敏感的环境下下载,这样使用地图时,就不用消耗读取图层所需要的流量了。「提前预知所需,先下再用」,百度、高德地图都是这个思路。

在制作离线地图包的过程中,工程师花了不少心思在减少地图包的大小上,比如通过矢量绘制等方法。目前主流的地图 APP 已经把城市地图包压缩在几十 Mb 大小。

比如百度地图 for iOS,客户端 46 Mb,北京市 18.6 Mb 地图包,根据搜索、导航、定位的使用情况,耗费几百 KB 到数 Mb 不等的流量。

四、「零流量地图」时代

随着 LBS 服务的兴起、人们出行需求日益增多,用户又提出了新的问题:为何我下载了离线地图,定位、搜索地点、规划路线还需要联网?随着网络变化,地图部分服务的速度也会受到影响,这个有办法解决吗?

其实,地图定位分为 GPS 卫星定位和基站定位:在户外卫星信号较好时,采用 GPS 卫星定位,室内等卫星信号不好的地方,则通过手机接收到的基站或 WiFi 信号,采用了多源融合及指纹等方式进行定位。后者需要耗费少许流量。同时,搜索地点、规划路线因为涉及到云端算法,必须请求到云端才能返回相应结果,该步骤也需要联网、消耗流量。

为了尽可能节省流量,工程师们再次脑洞大开:手机地图的使用场景主要是在室外,如果只通过 GPS 定位,关掉基站定位,同时把搜索、路线规划等服务从云端搬到手机上,不就解决了流量耗费的问题了嘛(当然室内定位时需要借助 WiFi 或基站)?同时,由于运算都是在手机上进行,不需要去云端请求结果,等待时间也减少了很多。

事实上,这样做还得克服一堆困难——比如说,如何保证云端复杂的服务迁移到手机本机时,能够高效并且占用更少的资源?

工程师们再一次给出了解决办法:在选择合适的数据结构和算法后,采用漏洞模型只加载必要的数据,同时合理设计缓存、提升运行速度,并且提前做大量离线计算、存储中间结果。这也是为何部分地图存在「离线导航包」的原因。

在这个过程中,「提前做离线计算、存储中间结果」是非常有必要的:在离线公交路线的计算过程中,很多中间计算信息是固定不变、可以提前算好的,因此可以存储成中间数据。为了不让中间数据过大导致离线地图包太大,对这些数据做合理压缩,便可大大提升运行效率。比如目前,全北京公交离线数据,也只要 8MB。

五、可预期的未来

技术永无止境,手机离线地图的发展,也许还有几个值得期待的方向:

1、 地图包增量更新:城市发展日新月异,地图底图的更新也愈发频繁,但是总不能每次都下载完整的地图包吧?通过增量更新,可以让用户只更新增加的数据部分,可以想见,未来不用在 WiFi 网络下,都可以通过极少的流量获得最新的地图数据。

2、 离线街景地图:相比虚拟图层,人们可能更倾向于在街景照片中查看路口、参照建筑物,随着图片数据压缩技术、手机硬件技术的提升,未来可能在离线数据包中,就能看到关键路径上的街景参照物。

一家之言,希望能抛砖引玉。

利益相关:本人腾讯员工。



华海。華海。

红酒不是放越久越好吗?为什么还有保质期?


为什么红酒瓶后都会写保质期十年,而不是二十年?

小林立直,世界范围内求工作

葡萄酒本身不存在具体的保质期,只有发展曲线,历经年轻、成熟、衰老三代。

青少年期的葡萄酒:指刚装瓶后未经过所需的瓶内熟成期的葡萄酒。颜色深邃;香气较简单、复杂度不够、不优雅、缺少变化性,只是纯粹的来自葡萄本身的果香花香及来自橡木桶的一些香气(香草、巧克力等),而且来自葡萄的香气与来自橡木桶的香气没有完好融合;单宁丰富而强劲、 甚至艰涩,多数单宁结构为小分子状态,偏苦;酒内的各种有机物质未经陈酿整合,葡萄本身风味的特性显著,其酸味、苦味、甜味均较明显,口感平衡性差且不愉悦;其味道也只是简单的来自葡萄的风味与来自橡木桶的风味;回味偏短。

当然也有很多不过橡木桶直接酿造灌装为了即饮而酿造的葡萄酒如薄若莱新酒等。

壮年期的葡萄酒:指经过所需的瓶内熟成期,达到最佳饮用期(其品质已达到顶峰的稳定期)的葡萄酒。酒的颜色仍然深邃 (相比年轻的酒偏淡些),但酒缘出现了透亮的砖红色;香气芬芳、优雅细致、层次感明显、多变化,仅有少量的果香花香,果香花香的呈味物质在陈酿过程中,在软木塞提供的微氧环境中进行着缓慢的化学反应(特别是聚合反应,小分子聚合成大分子),再加上橡木桶带来的风味物质,以致这个缓慢化学反应产生了极其精彩的风味物质,例如:动物皮革类皮毛类香气、烟草、雪茄、雪松木等;由于小分子的单宁慢慢聚合成大分子单宁,单宁变得细致柔和,但不失其刚强之势;小分子酚类物质由于聚合而消失,由此带来的苦味降低;其味道也变得更加丰富且复杂,口感愉悦、且均衡性非常好;余韵非常的持久。

老年期的葡萄酒:指已经过了熟成期进入衰老期的葡萄酒。酒的颜色变成棕红色、棕色,甚至是褐色,也会有大量的沉淀物 质,应将其分离;比较健康的香气有酱香、植物腐化的气味(如森林中地面的落叶腐化后产生味道)、木头腐化的气味、蘑菇或者松露的气味等,还可饮用,但明显 属于过老了;变质的气味有醋酸、酱油、报纸霉变的气味(报纸置于潮湿的密闭的空间里产生的气味)等,建议不要饮用;单宁变得非常的柔和,或不明显(单宁因 聚合反应,或沉淀下来,或变成超级大分子状态),酸味可能会变得很明显,通常口感会很均衡,除非酒精含量过高,感觉过于突出;余韵变得很短。

另外即便后面保质期会标有 10 年,但是大部分的葡萄酒的适应期只在 1~2 年,能够真正长期陈年的只有伟大年份的使用名贵葡萄品种的名庄酒或车库酒(具体一说又要扯 82 年拉菲之流,不免落俗,不加赘述)。

如果你想要挖掘一些可以越陈越好的葡萄酒,首先要记住的是这样的葡萄酒比较稀少,存放 5 年后会发展得更佳的葡萄酒只有 10%;另外,存放 10 年之后会发展得更出色的葡萄酒只有 1%。而且,这些葡萄酒必须存放在适当的环境中,控制好温度、湿度、光线和震动等因素。具有良好陈年潜力的葡萄酒至少需要具备以下条件之一:

(1)高酸

(2)高单宁

(3)高糖

(4)高酒精度

如果用最之前所说的生命曲线来表示的话,大概情况如下:

至于葡萄酒标有保质期,实际只是习惯使然,与具体法律等无关。后面标 15 年 20 年的我也见过。

中华人民共和国国家标准 GB7718─94《食品标签通用标准》中对此规定:"产品标准(国家标准、行业标准)中已明确规定保质期或保存期在 18 个月以上的食品,可以免除保质期或保存期"。

我这个人比较懒,不喜欢写 reference 和 glossary,如果有什么不爽的地方,你来打我呀(咳,请私下联系)



华海。華海。