我们可以一次运行多少个laLunchUrl?

时间:2016-02-25 17:54:32

标签: android chrome-custom-tabs android-customtabs

我正在尝试将ChromeCustomTabs用于我们的项目中。当我使用mayLaunchUrl时遇到了几个问题。我检查了谷歌在github上的代码。我只需设置一个按钮来测试mayLaunchURL(预呈现功能),当我使用chrome dev工具查找流量时。我做了流量和标签得到触发器和网址被加载(这只是一个与params的GET调用)。但是,当我多次点击它时(经过8-10次,每次都有不同的参数),停止工作。我停止看到发出的请求。 (在chrome dev工具上没有看到,也没有我设置的代理)。

我想知道mayLaunchURL功能是否有限制时间(限制),换句话说,在这种情况下我们可以预渲染多少页?有没有办法手动取消预渲染页面并释放资源?

bindCustomTabsService的时间有限制吗?我调用mayLaunchURL的方法是在完成选项卡后进行活动并终止活动。每次即使每次“杀死(完成)”活动,我都可以绑定服务吗?

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    customTabActivityHelper = new CustomTabActivityHelper();
    customTabActivityHelper.setConnectionCallback(this);
}

@Override
    protected void onStart() {
        super.onStart();
            customTabActivityHelper.bindCustomTabsService(this);
        }

@Override
public void onCustomTabsConnected() { 
    Boolean mayLaunchUrlAccepted = customTabActivityHelper.mayLaunchUrl(Uri.parse(“the URL?f=“+params), null, null);

 // the mayLaunchUrlAccepted always return true in my case. Even when there is no request sent.
}

1 个答案:

答案 0 :(得分:1)

是的,mayLaunchURL()在电池/ RAM /网络方面非常昂贵,因此它在应用UID级别上受到限制。但是限制在一段时间后会下降。

最佳策略是使用mayLaunchURL(),如果用户将导航到URL的信心非常高。

“低信任度”mayLaunchURL()不受限制,但执行更有限的一组操作(当前预连接,未指定,可能会更改)。低置信度mayLaunchURL是通过提供null作为uri和其他类似的URL中的URL列表来触发的。