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

问题描述 投票:0回答:2

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

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

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

意图中是否有任何参数,强制浏览器在我们点击后立即打开?否则,用户将看到2-3秒没有发生任何事情

android google-chrome url android-intent start-activity
2个回答
0
投票

Chrome浏览器的直接意图

String urlString="URL_HERE";
Intent intent=new Intent(Intent.ACTION_VIEW,Uri.parse(urlString));
intent.setPackage("com.android.chrome");
try {
    context.startActivity(intent);
} catch (ActivityNotFoundException ex) {
    // Chrome browser app not installed
    intent.setPackage(null);
    context.startActivity(intent);
}

这是你打算先选择浏览器,然后在选择时加载页面

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

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


0
投票

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

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

  • 开始任何其他应用程序缓慢?如果是,则问题与设备有关(免费系统RAM,CPU等)
  • 什么东西启动浏览器慢?如果是,那么您可以做的很少,但请注意,浏览器的性能会有所不同,并且有许多适用于Android的Web浏览器
  • 是否让浏览器显示此特定URL缓慢?如果是这样,请将网站修复得慢一些。在许多情况下,这将带来的好处不仅仅是Android浏览器显示页面的速度,例如帮助通过其他方式访问此页面的用户。

意图中是否有任何参数,强制浏览器在我们点击后立即打开?

不,没有FLAG_ACTIVITY_AW_COME_ON_GET_MOVING_ALREADY或类似的额外。同样,没有android.intent.action.VIEW_NOW_NOW_NOW旗帜。您可以尝试用ActivityNotFoundException替换当前的操作,但我怀疑它只会导致qazxswpoi。 :-)

© www.soinside.com 2019 - 2024. All rights reserved.