Azure流仅在Android应用程序中运行缓慢

时间:2019-05-25 20:43:04

标签: android performance azure

大约2-3个月前,我开始经历一个奇怪的案件。我有一个应用程序可以从azure媒体服务流式传输视频,并且一切正常。

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

我怀疑这可能是较新的android版本(例如8或9)的问题。因为我曾经使用过Samsung 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应用程序内部。

1 个答案:

答案 0 :(得分:0)

Android网页浏览速度很慢。我几代人都面临着同样的问题。但这取决于特定领域。这里有一些代码片段,您可以尝试。或根据您的用例进行修改。

WebView mWebView = new WebView(this);

WebSettings settings = mWebView.getSettings();

启用javascript和其他模式

settings.setJavaScriptEnabled(true);
settings.setLoadWithOverviewMode(true);
settings.setUseWideViewPort(true);

好吧,我认为您不需要它。但是如果有人需要。

settings.setSupportZoom(false);
settings.setBuiltInZoomControls(false);

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

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

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

这是可选的,但对我来说有帮助

mWebView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
mWebView.setScrollbarFadingEnabled(true);

还有更多。如果您想在webview中设置加速度类型,那么

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"。对我来说,错误成功了。您可以看到其here的校样。