首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure流只在Android应用程序中运行缓慢。

Azure流只在Android应用程序中运行缓慢。
EN

Stack Overflow用户
提问于 2019-05-25 20:43:03
回答 1查看 209关注 0票数 3

大约2-3个月前,我开始经历一个奇怪的病例。我有一个应用程序,从蔚蓝媒体服务中播放视频,一切都很好。我正在使用EXO 播放带有渐进下载模式的视频。Azure提供了一个进度下载链接,链接到blob存储区内的视频和媒体服务。

然后,我意识到流媒体在应用程序中变得异常缓慢。我在我的Android手机(三星Note 8)的Chrom中打开了同样的链接,它加载得很好。我在桌面浏览器上打开相同的流链接,它也加载得很好。唯一奇怪的是,它在应用程序中加载速度非常慢。

我怀疑这可能是8或9等较新的android版本的问题,因为我曾经使用过三星Note 2,它在那里流得很好。我在这些问题中也看到过类似的表现问题,但没有一个问题与流媒体服务相关,没有答案。

Why Azure table storage data loading slow in my Android app?

Azure web api call slow on phone but works well on android emulator

How to speed up cloud service running in windows azure?

Windows Azure Active Directory slow authentication on mobile devices

任何想法都将不胜感激。

更新

流媒体服务不是问题,因为同样的流链接在IOS应用程序中也能正常工作。唯一的麻烦是在android应用程序中。

更新2

我已经把球员换成了ExoPlayer,结果还是一样的。我写了一个小应用程序,打开了完全相同的视频链接,它在我的手机上加载得很好。在我自己的应用程序中,唯一的问题就是。我在演示应用程序中打开它,它加载得很好。我切换到我原来的应用程序,它加载缓慢,有时甚至没有启动。我已经尝试了所有我能想到的解决方案:

EN

回答 1

Stack Overflow用户

发布于 2020-04-29 10:47:38

好吧,Android的网页浏览速度很慢。我面临着几代人共同面临的问题。但这取决于特定的领域。以下是您可以尝试的几个代码片段。或者根据您的用例修改它。

代码语言:javascript
复制
WebView mWebView = new WebView(this);

WebSettings settings = mWebView.getSettings();

启用javascript和其他模式

代码语言:javascript
复制
settings.setJavaScriptEnabled(true);
settings.setLoadWithOverviewMode(true);
settings.setUseWideViewPort(true);

我不知道你需要它。但如果别人需要的话。

代码语言:javascript
复制
settings.setSupportZoom(false);
settings.setBuiltInZoomControls(false);

在webview中设置算法类型。settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);

尝试更改缓存选项,例如,如果内容settings.setCacheMode(WebSettings.LOAD_NO_CACHE);出现问题,请禁用缓存。

尝试使用DOM存储settings.setDomStorageEnabled(true);

嗯,这是可选的,但对我的情况有帮助。

代码语言:javascript
复制
mWebView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
mWebView.setScrollbarFadingEnabled(true);

这里还有一些。如果您想在webview中设置加速类型,那么

代码语言:javascript
复制
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    // chromium, enable hardware acceleration
    mWebView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
} else {
    // if you are using older android version, disable hardware acceleration
    mWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}

您也可以在清单中使用android:hardwareAccelerated="true""false"。对我来说,false成功了。你可以看到它的校样,here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56308547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档