从2.0 preview版本上开始尝鲜 碰到好多坑
之前一直忙着需求开发 也没时间整理 不找借口 现在行动
1.简介:
instant run 顾名思义 就是程序修改的结果立即执行到手机上的一个运行机制
以往我们开发过程中 修改完一个bug的时候 需要编译整个apk 然后apk部署到测试机或虚拟机上 再一步一步执行到刚修改到的位置
有了instant run 妈(lao)妈(da)再也不用担心我编译时间溜号了 修改好的代码 立即附加到正在运行的程序中 编译执行效率高了 开发效率自然成倍提升
2.原理:
② Android studio 2.0新特性Instant Run 的实现原理详解
已经有文章经整理的很好了 大家自己去看 我就不赘述了
3.问题整理:
① 安装首次启动慢,因为资源和dex都是动态加入到程序里的 Instant Run添加的Application(第一篇文章里有详细描述)里面有很多耗时加载任务 所以首次会变慢 主要受闪存读取速度影响。
② 应用存储空间 数据 体积增加,因为我们是小团队 经常直接运行一个程序就拿给产品测试 测试过程中经常通过[清除数据]重复测试一些功能 所以重点来了 【不要直接使用instant run安装版本提交测试】
③ 与应用热修复冲突 因为与热修复的原理相同(动态dex),使用时需要多留意问题。
④ Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled. 传送门
⑤ 【做性能改善的时候请关闭instant run】
⑥⑦⑧⑨想到或者再遇到后更新...
and 还有个问题也需要注意 用了几个月的instant run 也极少出现失灵的情况 所以出现问题 先debug查代码 别轻易怀疑instant run 浪费不必要的重安装时间 它还是很稳定 很靠谱的
4.顺便说说应用热修复:
【新技能get】让App像Web一样发布新版本 (出处: Bugly)
其实项目中好几个版本之前就加入了基于nuwa的热修复加载,直到最近派上用场才真正体验到它的好
不过好归好也却也有担忧 本来就不安全的apk又多了一个后门 客户端越来越不安全了。。。