【简介】
2016年的Google I/O大会上,Instant App(即时应用)作为Android Nougat的功能之一进行展示。
其有以下两个特点:
1、免安装:Instant App能有帮助节省手机端的存储空间,用户不再需要进行安装之后再进行管理。
2、免费试玩:在尝试下载之前消费者并不需要为应用付款,从而方便开发者邀请用户测试该应用。
具体表现形式为
——当你在google play上打开一个应用的界面,你可以选择先试玩其Instant App,而后再确定要不要下载应用。
【该技术的原理是啥?】
——由于谷歌一致没有公布该功能的代码,所以,从2016年开始,大家一直在猜测。
1、猜测一:web应用。
最开始的一段时间,普遍认为其为H5应用。原因为:google play上打开一个应用的界面后,点击试玩其Instant App时,打开了一个网页链接。
2、猜测二:动态加载技术。
同时,有一部分人认为其为动态加载技术。原因为:其特点中因为提到免安装。由于“免安装”这个做为动态加载技术的专有名词,让大家觉得其为动态加载技术。
后续进展如下:
(1)安卓官方解释Instant App为:免安装原生应用。
(2)相关发言人解释道:对于开发者来说,要增加Instant App功能,不需要再单独开发一款Instant App应用,原先使用的API、源代码都是一样的,根据具体应用的不同,增加Instant App功能总体上并不需要花费额外的开发资源,最快的在一天之内便能完成。
(3)美国时间 2017 年 1 月 24 日,Google 宣布 Android Instant Apps 正式上线,并对一小部分用户开放测试,公布了正式开发文档。
由以上三个事件,得出以下关键信息:
1、免安装原生应用。
——原生应用,即:非H5。
2、原先使用的API、源代码
——不可能转成web语言再运行。
3、Instant Apps将应用下载大小限制为4M
——需要下载的免安装技术,基本可以定论为动态加载。h5的话,完全没必要,下载到本地后再加载;读本地h5,对性能没有太多提高。
4、开发时的一些规范:Activity 必须相对独立、没有自定义的后台服务、不能有自定义的 content providers、不能使用NDK、不能使用反射。
——这些都是动态加载技术,插件开发的一些常用规范。
5、只有Google Play上的应用才支持Instant Apps
——基本可以确定Google Play就是动态加载技术的宿主,而Instant Apps则是一个个插件。
至此,我们可以基本确定Instant App的原理为动态加载技术。
【定论】
时至今日,安卓的最新版本的源码,依旧没有公开Instant Apps相关源码。
但是我们可以给出定论:在google play上才能使用的Instant Apps,是以Google Play为宿主,Instant Apps为插件的动态加载技术。