关于android studio2.0 Intant Run

 

androidstudio;intantrun...



android studio(as)2.0正式版终于在上周release了,恩,一如既往的黑科技加坑爹。。。。。

最重要的一部分更新就算是instant run的加入了吧。Instant run  相当于一种动态加载技术,以前dex时代也有类似的,基于dexloader来进行动态加载,进行插件化加载,已经有一大堆人弄出类似的项目了;发布一个dex进行热补丁,修改在线版本,例如比较出名有阿里的anfix,企鹅的叫啥超级补丁吧。

那在as中直接加入这个是为毛啊,是为了开发过程中debug下更快的更新程序,想想随手修改了一段代码,一点运行,app甚至不需要重启,代码就已经生效了,那得有多带感啊。。。但是。。。现实也是非常的骨感

一般情况下,Instant Run在build debug下,可以直接推送方法的改变,和资源的改变,甚至不需要重启app。。更不需要重装app。。加快开发速度。。起码ui debug是可以加快的;

需要Android Plugin for Gradle version 2.0.0  以上,额,对gradle版本也有要求,2.10是可以的。

设备需要4.0以上。。如果开了multidex的话,就需要5.0以上(5.0以上使用art);比较蛋疼的是,并不是所有修改都行的。。。一般是几种情况是生效的,已经存在的对象的方法修改,静态的东东。。注解。。R.id,manifast和manifast相关的资源,桌面部件。。

如果是其他代码修改。。。点了

这个运行。。代码是不生效的!!!

要代码生效的话。。。要点旁边这个Rerun

设置,打instant run。。这里是添加了一个gradle plugin。。就有开启和关闭了





还有比较坑爹的是。。。如果是clean build。。。那会很慢。。。很慢.

所以不要轻易clean。。。。

还有比较坑爹的是。。。debug模式安装的应用。。第一次点击图标打开。。或者清了缓存之后打开,会很慢。。很慢。。很慢。。点了基本没反应那种

最重要的是,利用这个黑科技,理论上是可以实现新的补丁技术的,就在上面说到的gradle plugin中,有一个jar包是为了运行时加载,一个插件是为了编译时的各种修改;

有兴趣的话可以去研究啊。。。。理论上是可以的= =。。。有兴趣的话谁发起。。。我可以加萌。。

最后,关于分享,我是很喜欢分享的,话唠嘛。。和组里的小伙伴分享了很多东西了,都是没有公开的。。因为我很懒。。从这篇文章开始,会整理我看过的技术经验,为了mark下来,和分享给朋友~~~一直懒得去vps搭建自己的blog,所以先放这。。


    关注 rise的学习园地


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册