2016-09-13 24 views
2

我正在开发的应用程序在模拟器上没有问题,但是当我在设备上安装debug apk时,需要30秒或者一分钟时间才能打开第一次(整个时间都是白屏),最后它显示了一些东西,应用程序运行时,它首先向我显示应用程序需要很长时间的错误,我选择忽略它,因为应用程序终于显示了一些东西。当它第一次工作时,它运行完全没有问题。这只发生在安装后第一次打开应用程序。Android应用程序需要太长的时间才能在设备上第一次打开

因此,在总结:

  1. 该应用程序在模拟器的伟大工程。

  2. 该应用程序安装时没有问题。

  3. 第一次打开应用程序时,它只显示一个完整的白色屏幕。

  4. 该应用程序终于像在模拟器中一样工作。

  5. 应用程序开始工作后不久,设备显示错误,关闭或等待应用程序。

  6. 忽略错误后,该应用程序可以正常工作,所有服务都可以正常工作。

  7. 如果应用程序已关闭并再次打开,它可以很好地工作。

注意:这个程序有multiDexEnabled true,我知道这可能是原因,但在模拟器工作正常。

感谢您给我提供的所有帮助。

编辑: 一些关于应用程序的更多信息: 它使用地图和firebae给用户通知。 仅当用户输入活动时才会调用地图服务和活动,另一方面,在应用程序运行时调用Firebase服务。 这是gradle这个:

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' 

请,如果你需要更多的信息,让我知道。 我不认为这是一个dublicate问题,如下所示,这个问题是关于模拟器,正如我之前提到的,在我的情况下,我的应用程序运行速度快,在模拟器中运行良好,是当我在真实设备中测试它时当这个问题发生时,再次提及它,它只发生在安装后的第一次应用程序打开后,我可以关闭它,打开它并再次关闭它,它会正常工作。

+0

您的应用程序必须在主线程中做了太多工作,请详细说明应用程序中的功能。 – RamithDR

+0

[该应用程序可能在其主线程上做了太多工作]的可能重复(http://stackoverflow.com/questions/14678593/the-application-may-be-doing-too-much-work-on-its -main-thread) – RamithDR

+0

你们似乎错过了这一点。他说在第二次,第三次,第四次运行时它的效果很好......如果问题是“主线程上的工作太多”,那么为什么它只会在第一次运行时运行不佳?但是,伙计......你需要提供更多信息。 –

回答

0

这个错误happend对我来说太,这是伟大的工作,直到我从我的主要活动代码拖走了三个输入代码

import android.app.Activity; 
import android.content.Context; 
import android.content.Intent; 
import android.os.Bundle; 
import android.widget.Button; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.view.Menu; 
import android.widget.TextView; 

不幸的是我不知道的代码,现在我有同样的问题,但我还记得上一个其中有“java”字 ,另一个字有“保护”字。

神为什么我删除他们

我通过重新创建修复了这个问题从一开始,我认为我们不应该去掉进口码,因为这样的手机需要更多的时间来删除无用文件和启动合并程序将无法将它们全部删除代码应用程序。

+0

也许这可以帮助你做一些事情,如果你解决了问题,我可以提供所有的帮助告诉我 –

0

无需替换或编辑任何gradle构建链接,它在安装用户第一次应用程序时会加载。 Whatsapp,Linkedin等所有类型的应用程序都会发生这种情况,所以请不要担心。

相关问题