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

时间:2018-09-04 11:05:21

标签: android google-chrome url android-intent start-activity

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

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

我们发现浏览器需要花一些时间才能打开,也许是因为该链接包含一些重定向?

意图中是否包含任何参数,以迫使我们在单击后立即打开浏览器?否则,用户将在2-3秒内看不到任何变化

2 个答案:

答案 0 :(得分:0)

  

我们发现浏览器需要花一些时间才能打开,也许是因为该链接包含一些重定向?

您可以通过尝试访问一个不涉及重定向的URL来测试此问题,该站点不涉及重定向,并查看其打开速度。您也可以通过将Intent替换为刚启动某个其他应用程序中的普通活动(例如“设置”)的测试。这将帮助您缩小范围:

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

  • 启动浏览器是否很慢?如果是,那么您几乎无能为力,尽管请注意性能会因浏览器而异,并且有许多适用于Android的Web浏览器

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

  

意图中是否包含任何参数,以迫使我们在单击后立即打开浏览器?

否,没有EXTRA_COULD_YOU_PLEASE_OPEN_QUICKLY_KTHXBYE或类似内容。同样,也没有FLAG_ACTIVITY_AW_COME_ON_GET_MOVING_ALREADY标志。您可以尝试用android.intent.action.VIEW_NOW_NOW_NOW替换当前操作,但是我怀疑这只会导致ActivityNotFoundException。 :-)

答案 1 :(得分: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);

请同时在不同设备上测试案例