【发布时间】:2016-09-13 02:57:30
【问题描述】:
我正在开发的应用程序在模拟器上运行没有问题,但是当我在设备上安装调试 apk 时,第一次打开需要 30 秒或一分钟(整个时间都是白屏),当最后它显示一些东西并且应用程序运行时,它首先向我显示应用程序花费太长时间的错误,我选择忽略它,因为应用程序最终显示了一些东西。当它终于第一次工作时,它运行起来完全没有问题。这只发生在安装后第一次打开应用程序时。
总之:
该应用在模拟器上运行良好。
应用安装没有问题。
第一次打开应用时,它只显示全白屏幕。
应用程序终于可以像在模拟器中一样运行了。
应用开始运行后不久,设备显示错误,请关闭或等待应用。
忽略错误后,应用完全没有问题,所有服务都正常工作。
如果应用程序关闭并再次打开,它可以正常工作。
注意:此应用的 multiDexEnabled 为 true,我知道这可能是原因,但在模拟器中可以正常工作。
感谢您在这里给我的所有帮助。
编辑: 有关该应用程序的更多信息: 它使用地图和 firebae 向用户提供通知。 地图服务和活动仅在用户进入活动时被调用,而firebase 服务则在应用程序运行时被调用。 这是毕业典礼:
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "24.0.1"
defaultConfig {
applicationId "com.example.andres.redfutbol"
multiDexEnabled true
minSdkVersion 15
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dexOptions {
javaMaxHeapSize "4g"
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.1.0'
compile 'com.android.volley:volley:1.0.0'
compile 'com.google.firebase:firebase-messaging:9.0.2'
compile 'com.squareup.okhttp3:okhttp:3.2.0'
compile 'com.android.support:design:24.1.0'
//compile 'com.google.android.gms:play-services:9.2.1'
compile 'com.google.android.gms:play-services:9.0.2'
}
apply plugin: 'com.google.gms.google-services'
如果您需要更多信息,请告诉我。 而且我不认为这是一个重复的问题,如下所示,这个问题是关于模拟器的,正如我之前提到的,就我而言,我的应用程序在模拟器中运行得又快又好,是当我在真实设备中测试它时这个问题发生了,再说一遍,它只是在安装后第一次打开应用程序时发生,后来我可以关闭它,打开它然后再次关闭它,它会正常工作。
【问题讨论】:
-
你的应用一定是在主线程中做了太多的工作,请多介绍一下你的应用的功能。
-
你们似乎没有抓住重点。他说它在第二次、第三次、第四次运行时运行良好......如果问题是“主线程上的工作量太大”,那么为什么它只会在第一次运行时运行不佳?但是,是的,伙计……您需要提供更多信息。
标签: android performance installation emulation device