大约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,结果还是一样的。我写了一个小应用程序,打开了完全相同的视频链接,它在我的手机上加载得很好。在我自己的应用程序中,唯一的问题就是。我在演示应用程序中打开它,它加载得很好。我切换到我原来的应用程序,它加载缓慢,有时甚至没有启动。我已经尝试了所有我能想到的解决方案:
发布于 2020-04-29 10:47:38
好吧,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"。对我来说,false成功了。你可以看到它的校样,here。
https://stackoverflow.com/questions/56308547
复制相似问题