Android 即时运行比标准版本需要更长的时间

Android 即时运行比标准版本需要更长的时间,android,android-studio,android-instant-run,Android,Android Studio,Android Instant Run,即时运行已经有一段时间不起作用了,也就是说,它比标准版本慢 AOSP bug追踪器中有一些资料,但我无法解决这个问题。我相信你们中的一些人会帮忙的 没有即时运行 构建大约需要1.30分钟 即时运行 我第一次运行应用程序,然后应用一些小的更改。例如,在方法内部将inta=1更改为inta=2,或者更改字符串 然后再次单击“运行”。发生了什么: 一个看似完整的构建发生了(在我的所有模块上调用assembleDebug)。大约需要1.30分钟 第二轮继续,只调用app:assembleDebug。大

即时运行已经有一段时间不起作用了,也就是说,它比标准版本慢

AOSP bug追踪器中有一些资料,但我无法解决这个问题。我相信你们中的一些人会帮忙的

没有即时运行 构建大约需要1.30分钟

即时运行 我第一次运行应用程序,然后应用一些小的更改。例如,在方法内部将
inta=1
更改为
inta=2
,或者更改字符串

然后再次单击“运行”。发生了什么:

  • 一个看似完整的构建发生了(在我的所有模块上调用
    assembleDebug
    )。大约需要1.30分钟
  • 第二轮继续,只调用
    app:assembleDebug
    。大约还需要一分钟:

    16:27:10 Executing tasks: [:app:assembleDebug]
    16:28:16 Gradle build finished in 1m 5s 264ms
    16:28:22 Instant Run applied code changes and restarted the app.
    
在第一轮中,没有任何输出到事件日志或Gradle控制台。在第二轮中,Gradle控制台输出大量内容并以

BUILD SUCCESSFUL

Total time: 51.385 secs
PREDEX CACHE HITS:   0
PREDEX CACHE MISSES: 45
Stopped 0 compiler daemon(s).
我能做什么? 我在我的
grade.properties
文件中有这些:

org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.daemon=true
build.gradle
文件中与索引无关。不用杰克。Android Studio 2.2.3


gradle.properties文件 项目级build.gradle 主模块build.gradle (我还有另外两个“库”模块)


保持bulit版本和目标版本相同

更新至Android Studio的最新版本,然后根据系统内存增加(Studio.vmoptions)中的内存配置文件

    -Xms256m
    -Xmx1280m
-XX:MaxPermSize=350m

如果您使用的是Google Play服务,请确保在Gradle构建脚本中未使用此服务:

compile 'com.google.android.gms:play-services:8.3.0'
只使用应用程序真正使用的谷歌API。如果您使用的是谷歌地图,您可以使用:

com.google.android.gms:play-services-maps:8.3.0
当我这样做的时候,我的编译时间从2分钟到25秒左右。有关可选择性编译的Google API列表,请参阅:


启用即时跑步

  • 打开“设置”或“首选项”对话框
  • 导航到构建、执行、部署>即时运行
  • 选中“启用即时运行”旁边的复选框
  • 即时跑步的限制。

    部署到多个设备, 对应用程序进行多重索引, 使用第三方插件, 将更改推送到多进程应用程序, 在工作配置文件中启动应用程序

    如果应用程序使用multidex支持(multiDexEnabled true),则minSdkVersion必须为21或更高。否则,android studio将禁用即时运行

    gradle版本的Android插件必须为2.1.0或更高版本

    使android studio能够加快脱机工作速度:

    转到文件>>设置或只需按ctrl+alt+s

    debug {
            minifyEnabled false
            applicationIdSuffix ".debug"
        }
    
    文件>>设置>>渐变。请检查全局渐变设置下的脱机工作

    提高梯度性能

    打开android studio后,从android studio右侧打开gradle.properties文件并添加以下两行

      org.gradle.jvmargs=-Xmx1536m  
      org.gradle.daemon=true
      org.gradle.parallel=true
    
    配置buildTypes中调试的生成变体

    debug {
            minifyEnabled false
            applicationIdSuffix ".debug"
        }
    
    更改后,您应该重新启动Android Studio

    注意:构建时间取决于处理器和RAM。
    我注意到在(i7-3610qm,8gbram)中,当您同时编译4个androidstudio项目,然后在窗口上缓慢响应时。构建过程完成后,pc工作正常。

    可能是因为这个错误?我不知道是什么构建了你have@Dasser是的,谁知道呢?似乎只是一个抱怨的人的名单,而不是一个bug报告。你已经阅读并确保你的项目不会受到列出的陷阱的影响,是吗?@Vince I现在有了,没有陷阱。它过去也很管用。在最近几次更新中发生了一些变化,但我一看到问题就没有时间去追踪它。@natario这是针对特定项目还是任何项目的?请添加详细信息。这是一个悬赏问题,我的所有模块中的生成版本是25,目标版本是25,生成工具版本是25.0.2。compileSdkVersion 23,buildToolsVersion“23.0.3”,minSdkVersion 11,targetSdkVersion 23,通过维护所有这些,我解决了问题,我已经做到了。而且,这不仅仅是因为编译需要很多时间;另一个奇怪的问题是编译发生了两次。已经在使用2.2.3,并且已经在构建文件中设置了一些参数,正如您在问题中所看到的。如果您对此进行扩展,我可以尝试调整它们,但我以前已经尝试过。@natario请检查项目级build.gradle===task clean(type:Delete){Delete rootProject.buildDir}不要将Android上下文类放在静态字段中;这是内存泄漏,也会中断即时运行
      org.gradle.jvmargs=-Xmx1536m  
      org.gradle.daemon=true
      org.gradle.parallel=true
    
    debug {
            minifyEnabled false
            applicationIdSuffix ".debug"
        }