2016-02-25 63 views
0

我正在嘗試將ChromeCustomTabs應用到我們的項目中。當我使用mayLaunchUrl時遇到了幾個問題。我查看了Google在github上的代碼。我簡單地設置了一個按鈕來測試mayLaunchURL(prerender功能),當我使用chrome dev工具查找流量時。我做了交通和標籤觸發器和URL加載(這只是一個帶有參數的GET調用)。但是,當我多次單擊它時(在8-10次之後,每次都使用不同的參數),它會在STOP工作。我不再看到發送的請求。 (在chrome dev工具上沒有看到,也沒有在我設置的代理服務器上)。我們可以一次運行多少個mayLaunchUrl?

我想知道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

是,mayLaunchURL()是在電池/ RAM /網絡而言是非常昂貴的,所以它被節流上應用UID水平。但一段時間後限制會下降。

如果用戶導航到URL的置信度非常高,最好的策略是使用mayLaunchURL()。

mayLaunchURL()不受限制,但執行更多有限的一組操作(當前預連接,未指定哪個可能會更改)。 mayLaunchURL的低置信度是通過提供null作爲uri和其他LikelyBundles中的URL列表來觸發的。

相關問題