AndroidStudio 2.0 的新特性 Instant Run 真的好用么?

2016-04-18 16:04:59 +08:00
 Totato5749

没带来心理预期效果,副作用很明显,编译时间变长, App 启动时间也明显变长,更改资源文件 /Manifest 等都无法 Instant Run

大家觉着好用么

13798 次点击
所在节点    Android
41 条回复
aliuwr
2016-04-18 22:15:22 +08:00
@twoyuan 对于开了 MultiDex 的项目来说,有个加速编译的小技巧。
在 productFlavors 里指定 minSdkVersion 为 21 ,可以避免计算 primary DEX file 的时间。
相关文档 https://developer.android.com/tools/building/multidex.html#dev-build

这个技巧同样适用于体积不大的应用,可以将依赖库预编译成 dex 。比如我的应用没有超过 65K 的限制,我也开启了 multiDex ,并指定了 minSdkVersion 为 21 。但注意不需要加入 com.android.support:multidex 的依赖,因为最终的 release 版本并不需要 multiDex 。
JayFang1993
2016-04-18 22:33:02 +08:00
好像不太好,总是 adb 连不上,还有就是代码改了, instant run 没更新。我想回到 1.5 了
pepsin
2016-04-18 22:34:18 +08:00
垃圾玩意, 巨难用, 代码改了老不更新, 搞个 java 片段 build 有那么难么
kirisetsz
2016-04-18 22:34:55 +08:00
用了几天大概是这个感受:
1. 首次编译的时间变长了,而且风扇超响。
2. Debug 的时候不再遇到 64K 方法数问题, Release 的时候会出现。
3. 在 API23 的 arm 模拟器里首次启动速度感人 (大概卡个十分钟编译)
yrom
2016-04-18 23:23:42 +08:00
用了一两天,实在受不了给关了。。。想法很好,但目前 bug 还挺多
Ervin
2016-04-18 23:30:13 +08:00
@aliuwr AS 支持 kotlin 好吧
ericyl
2016-04-19 07:07:08 +08:00
有时候编译真心慢,项目 crash 不做任何操作的时候直接 Instant Run 的时候会再 crash 一次。
Makoshan
2016-04-19 09:06:52 +08:00
改 XML 和 少量代码变量 用 Instant Run 编辑查看,大的改动,先停止调试,再重新编译安装。
1023400273
2016-04-19 09:11:59 +08:00
已经关闭该功能,坑死我了
zhouquanbest
2016-04-19 11:59:44 +08:00
用 AS2.1 beta
特么 Instant Run 只支持用 gradle plugin beta
还得再下个 2.0 RC

自己 Kotlin 写的反正也不支持

推荐装个 Android N 的模拟器 新的 ART 机制让安装变得非常快 也就不太需要 InstantRun 了

另外 InstantRun 基本是要 restart activity 的 所以我这种全 View 和全 Fragment 的架构方式基本用不上了 (不甘心
coolkid1900
2016-04-19 15:22:37 +08:00
表示被坑过,还好我机智的卸载了
Rocko
2016-04-19 19:56:14 +08:00
坑,首次 build 慢了很多 。增加代码还好,更改 移动代码时经常更新不到代码。修改 XML 控件标签名也会 ClassCash 。。 好一点的就是模拟器和 AS 的打开速度了。
LvWind
2016-04-20 10:35:38 +08:00
有的时候改动不生效,然后你试试清除数据再启动,就变回好久之前的版本了。。
tianlang1989
2016-04-20 17:13:47 +08:00
不好用,首次编译时间太长
不知道为什么 用小米测试机 第一次编译需要在手机上点同意,如果忘了点, AS 上提示安装失败,然后不做任何改动,再点一下三角形启动,居然又需要编译很长时间
fuck ,怒关!
twoyuan
2016-04-23 18:03:15 +08:00
@aliuwr 感谢您提供的方法,这几天试了一下, 21 以上这样用是没问题的, 21 以下没有 multidex 的依赖应用安装后打不开,加上 multidex gradle 构建的时候就 OOM ...orz
aliuwr
2016-04-23 20:37:53 +08:00
@twoyuan 设置成这样是为了加速开发, release 和测试低版本的时候就不应该如此了。
21 之前的版本不原生支持 multidex ,所以需要依赖库进行支持。
OOM 的问题你看官方文档调整下内存设置就好了。
twoyuan
2016-04-23 22:41:27 +08:00
@aliuwr ok 多谢了,这个方法还是很有用的。之前也看到文档里介绍这个迷信 instant run 没用这个,现在看来还是这么做靠谱。
F1ReKing
2016-04-25 21:45:27 +08:00
建议还是关闭比较好,不坑不装逼
mzlogin
2016-04-29 01:39:56 +08:00
@nocoo 一样一样的……基于地图 SDK 做的东西,启用 Instant Run 后只第一次运行可用,再运行就报崩溃了,必须卸载重装。
nocoo
2016-04-29 19:49:14 +08:00
@mzlogin 我们的地图 SDK 是我厂新出品,我们是第一个用户。所以估计是 GL 的问题吧。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/272003

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX