小编sha*_*aMK的帖子

Android在首次启动时需要更多时间启动应用程序

在我的项目中,我使用了需要multidex支持的库.根据我的研究,我发现它会导致应用启动时出现延迟.

我在gradle中启用了multidex功能.defaultConfig {multiDexEnabled true}

我曾经为kitkat设备获取NoClassDefFound Exception,所以我添加了以下内容:

我在清单中添加了应用程序名称为android:name ="android.support.multidex.MultiDexApplication"

并使用MultiDexApplication扩展了我的应用程序类.

我知道上面的任何一个都足够但我刚刚写了两个.

我尝试了不同的方法来优化启动的持续时间,如下所示:

1.added productFlavors {dev {minSdkVersion 21} prod {minSdkVersion 14}}

  1. dexOptions {preDexLibraries false javaMaxHeapSize"4g"}

  2. 我只导入了必需的谷歌播放服务的库,而不是导入完整的库.

你能否建议我一种即兴创作的方法,因为它实际上需要超过10秒,有时甚至超过某些设备?

或者是否有任何其他原因导致延迟与multidex相比?

提前致谢.

我添加了build.gradle文件内容:

 apply plugin: 'com.android.application'
 apply plugin: 'com.google.gms.google-services'

 android {
  compileSdkVersion 23
  buildToolsVersion "23.0.3"
  useLibrary 'org.apache.http.legacy'

 defaultConfig {
    applicationId "com.example.app"
    minSdkVersion 17
    targetSdkVersion 23
    versionCode 3
    versionName "1.2"
    multiDexEnabled true
}

dexOptions {
    incremental true
    javaMaxHeapSize "10g"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
  }
}

  dependencies {
    compile fileTree(include: …
Run Code Online (Sandbox Code Playgroud)

android android-studio android-5.0-lollipop android-multidex

18
推荐指数
1
解决办法
1万
查看次数

流式传输音频时MediaPlayer缓冲时间问题

我正在使用MediaPlayer通过HTTP传输无线电.在Lollipop上,我的流程需要大约一分钟才能启动,这是不可接受的.Kitkat需要大约20秒,这已经很痛,但现在变得无法使用.

这个组件与缓冲有一个众所周知的问题:缓冲区的字节数被编码并且不能被改变.

我的代码非常标准

player.reset();
player.setAudioStreamType(AudioManager.STREAM_MUSIC);
player.setDataSource(streamUrl);
player.prepareAsync();
Run Code Online (Sandbox Code Playgroud)

我准备好了

player.start();
Run Code Online (Sandbox Code Playgroud)

我听说过替代品,GStreamer但我无法在Windows上运行.

我想知道是否有人有一个有效的解决方案来通过HTTP流式传输无线电启动延迟.

编辑

我测试了ExoPlayer但是我得到的较低开始时间是15秒.玩家停留在"准备"状态(不缓冲,到目前为止,我看到了).

编辑

流的格式是AAC

编辑

我测试了https://code.google.com/p/aacdecoder-android/,但此库唯一的问题是缺少对流暂停的支持.我的应用程序要求支持在线流的暂停.

android android-mediaplayer

10
推荐指数
1
解决办法
1万
查看次数