TwinPrime:用机器学习优化Android网络

这篇文章是我关于《Android开发如何进行网络优化》的回答,这个问题里已经有一个我觉得不错的答案,一些常规实用的优化方案,大家有兴趣的话可以去知乎围观。我这里从另外一个角度给大家讲讲目前我们正在尝试的一款高大上的移动网络优化产品。

以下是我的回答:

我来说点高大上的:用机器学习来做Android/iOS应用的网络优化,也就是TwinPrime。
TwimPrime是一家美国创业公司,国内媒体唯一一次关注它也就是它融资950万刀的故事,我给大家讲讲它究竟为啥能拿到这笔钱,以及它背后的故事。

电梯演讲时间

一句话概括:TwimPrime解决了移动网络“最后一英里”的交付问题。下面我大概解释下。

当前移动设备使用率超过PC已成共识,但移动设备的网络性能比之PC糟糕许多。对移动网络进行优化已是必然趋势。传统的网络优化手段之一就是CDN, 依靠部署在各地的边缘服务器,通过中心平台的分发调度,使用户就近获取所需内容,降低网络拥塞,提高用户访问速度。然而这一切在无线时代却存在硬伤,移动网络之所以这么慢,其实是移动运营商到移动设备之间的网络性能瓶颈导致的。根据统计70%的延迟都发生在这所谓的最后一英里,目前的CDN方案解决不了这个问题。

为什么不是CDN?

CDN其实是PC时代的产物,PC相较移动设备的特征之一就是稳定,你家的电脑不会跟着你到处走,它的网络也因此相对稳定,电脑的性能也比手机强,也不像手机种类那么分化,而手机则不一样,它有WIFI及各种运营商的场景,它的位置在不断变化,设备与操作系统也种类繁多。

TwinPrime怎么Work?

集成TwinPrime SDK到你的App,它通过修改底层网络通讯基础库,定期上传最新的设备信息给TwinPrime服务器,TwimPrime根据你的设备,操作系统,位置,运营商的信息,不断优化推荐当前它认为最佳的内容转发通道给App, 使得后续App的访问速度都通过TwimPrime的转发得以优化,从而大幅度优化最终访问速度,其推荐算法本身采用机器学习的方式改进。

看几张图来直观理解下。
移动互联网时代面临的挑战

TwinPrime的解决方案

整体方案以及与CDN的关系

具体怎么用呢?

具体到Android SDK的集成,其实有两种选择,一种是android自带的HttpUrlConnection, 一种是OkHttp, 是的,你没有猜错,它需要我们用TwinPrime包装过的的 HttpUrlConnection, OKHttp替换原生的,从而修改通信部分,同时也支持Picasso,支持图片访问的性能优化,视频也有对应的支持方案。

那么要钱不?

你又猜对了,他是要收费的,目前有一个月的免费试用,试用期后要收费。那你肯定会嘀咕,他怎么证明真的对我们的网络优化有帮助?有多大帮助?我已经就这个问题与TwinPrime的CTO互相交换了意见: ) 他表示收费前会帮我们调优网络,并做足够的A/B测试,提供测试数据以打消我们的疑虑。在最近一次的试用中发现它们有少量Crash, 他们已经快速修复并且提供了最新版的SDK, 目前我们打算继续尝试中。。。

有人又要吐槽我,能不能别老是推荐一些收费的玩意?一天到晚发软文!这个我只能说,凡事要看投入产出比,真的帮你把用户端的网络请求速度大幅度提升?这点钱又算什么?另外这真心不是软文,好东西就要分享给大家不是嘛?

最后我们的应用虽然主要在海外,但TwinPrime号称是支持全球的,所以理论上中国也是地球不可分割的一部分是吧?大家赶紧试试吧。


我最近在运营一个微信公众号,主要关注Android最佳实践,最好用的工具与服务,大家有兴趣可以在微信里搜索“Android程序员” 或 搜索微信号 “AndroidTrending” 或扫描下方二维码关注我。
Android程序员