Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android URL意图:浏览器打开速度非常慢_Android_Google Chrome_Url_Android Intent_Start Activity - Fatal编程技术网

Android URL意图:浏览器打开速度非常慢

Android URL意图:浏览器打开速度非常慢,android,google-chrome,url,android-intent,start-activity,Android,Google Chrome,Url,Android Intent,Start Activity,在我们的应用程序中,单击一个按钮,我们需要在浏览器中打开一个网站 Intent openBrowserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(openBrowserIntent); 我们发现浏览器需要很长时间才能打开,可能是因为链接包含一些重定向 意图中是否有任何参数,用于在单击时强制打开浏览器?否则,用户将在2-3秒内看不到任何事情发生 我们发现浏览器需要很长时间才能打开,可

在我们的应用程序中,单击一个按钮,我们需要在浏览器中打开一个网站

    Intent openBrowserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
    startActivity(openBrowserIntent);
我们发现浏览器需要很长时间才能打开,可能是因为链接包含一些重定向

意图中是否有任何参数,用于在单击时强制打开浏览器?否则,用户将在2-3秒内看不到任何事情发生

我们发现浏览器需要很长时间才能打开,可能是因为链接包含一些重定向

您可以通过尝试一个指向更简单站点(不涉及重定向)的URL来测试这一点,并查看它的打开速度。您还可以通过将
意图
替换为仅在其他应用程序(例如设置)中启动普通活动的意图来测试这一点。这将帮助您缩小范围:

  • 启动其他应用程序是否缓慢?如果是,则问题与设备有关(可用系统RAM、CPU等)

  • 启动浏览器有什么问题吗?如果是的话,那么您对此无能为力,不过请注意,性能会因浏览器而异,而且Android有许多Web浏览器

  • 让浏览器显示此特定URL是否很慢?如果是这样的话,请将站点修复为速度较慢。在许多情况下,这将带来的好处不仅仅是Android浏览器显示页面的速度,例如帮助通过其他方式访问此页面的用户

意图中是否有任何参数,用于在单击时强制打开浏览器

不,没有
额外费用\u请您\u快速打开\u KTHXBYE
或类似额外费用。同样,也没有
标志\u活动\u AW\u COME\u ON\u GET\u MOVING\u已经
标志。您可以尝试用android.intent.action.VIEW\u NOW\u NOW\u NOW替换当前操作,但我怀疑这只会导致
ActivityNotFoundException
:-)

chrome浏览器的直接意图

这是您首先选择浏览器,然后在选择时加载页面的意图

    Intent openBrowserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
    startActivity(openBrowserIntent);

请同时在不同的设备上测试这两种情况

如果只是一个网页,您可以在应用程序中实现webview以缩短时间并快速加载页面。不幸的是,我们需要重定向到浏览器。chrome浏览器的direct intent呢?@Quicklearner怎么样?不幸的是,没有速度提升不想使用Chrome的用户怎么办?没有Chrome浏览器的用户怎么办?要求很明确,加载URL,在catch block中有一个解决方法。如果没有Chrome浏览器,它将要求用户选择浏览器。您正在处理“没有Chrome”场景。你没有处理“不想使用Chrome”的情况。Chrome似乎是一款完美的浏览器,因为现在它加载速度非常快,并且使用缓存,人们实际上会选择它。大多数库存和定制的操作系统都预装了chrome,没有人会介意不先询问浏览器。这很奇怪,我有一个Google Pixel 2,所以我认为RAM和CPU不是问题。我尝试了其他URL,但打开速度仍然很慢。我还尝试了“旧”Nexus5x,打开浏览器的速度也很慢。我记得,使用同一个应用程序,在浏览器上打开url过去相当快。很奇怪。不过看起来,对于不同的页面,浏览器打开时间是不同的。因此,页面速度越快,浏览器打开得越快。我希望你一点击就可以打开浏览器,但安卓似乎没有提供这种功能。@DanieleB:重定向没有帮助。Android需要发出
HEAD
请求来获取MIME类型,以便完全创建
Intent
,重定向会导致多个
HEAD
请求。你可以尝试
setDataAndType()
而不是在
Intent
构造函数中提供
Uri
,看看这是否允许Android绕过那些
HEAD
请求,如果你相当确定这个URL总是会出现在某个网页上的话;setDataAndType(Uri.parse(url),“text/html”);星触觉(意向)但加载时间相同。我决定在点击之后在工具栏上显示一个进度,所以至少这会给用户一个反馈,告诉他们等待。无论如何,非常感谢
    Intent openBrowserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
    startActivity(openBrowserIntent);