最近,我已将Android Studio
从1.5
升级为2.0
。
我正在使用gradle 2.0.0
classpath 'com.android.tools.build:gradle:2.0.0'
但似乎有一些问题,每当我第一次运行我的应用程序时,它会显示/黑屏10-15秒。
我在applicationClass或启动器活动中没有做任何事情,但是它也花了这么多时间。
我不知道AS 2.0
或Gradle 2.0.0
是否存在问题。奇怪的是它在模拟器上正常工作,它只是花时间在设备上。因此可能存在设备RAM或处理问题,但我已经在10-12个设备中检查了它,并且所有设备都有相同的问题。
当我第一次运行我的应用程序,然后像往常一样工作并在几分之一秒内加载启动器活动时出现问题。
有人可以帮助我吗?
答案 0 :(得分:1)
每当我首先运行我的应用程序时,似乎存在一些问题 时间,它显示/黑屏10-15秒。
我猜您的应用程序中存在冷启动问题。
冷启动:
当用户启动应用程序时,Android会创建一个新进程 在充电过程中,它会显示一个黑色/白色的屏幕 应用程序主题,或作为条目的活动的主题 点。
如果我们的应用程序很复杂,可以增加此负载 覆盖通常用于的应用程序对象 初始化分析,错误记者等。
解决方案:
android:windowBackground
。 有关详细信息,请查看http://saulmm.github.io/avoding-android-cold-starts
感谢。
答案 1 :(得分:0)
正如documentation所述:
Instant Run将更新的代码和资源推送到您连接的设备 或通过执行热插拔,热交换或冷交换来模拟器。它 根据类型自动确定要执行的交换类型 你所做的改变。
此外,文件中提到即时运行:
并非Bug部署完整版本后,Android Studio会将您的应用程序设置为 允许Instant Run推送代码和资源更新。虽然更新 正在运行的应用程序发生得更快,第一次构建可能需要 更长时间完成。
您可以通过配置几个DexOptions设置来改进构建过程:
android {
...
dexOptions {
maxProcessCount 4 // this is the default value
javaMaxHeapSize "2g"
}
}
答案 2 :(得分:0)
在android studio中,打开首选项。在搜索栏(首选项对话框)中键入即时运行或导航到构建,执行,部署>即时运行并取消选中所有选项。但是,当然,你将失去即时运行的力量。
答案 3 :(得分:0)
更改课程路径
classpath 'com.android.tools.build:gradle:2.0.0'
到您之前的构建版本(例如)
classpath 'com.android.tools.build:gradle:1.5.0'